当前位置: 首页 > news >正文

茂名中小企业网站制作重庆市建设安全信息网

茂名中小企业网站制作,重庆市建设安全信息网,宁波网络推广软件,网络安全形势下怎么建设学校网站这道题可以看成一个24叉树。 因为基因序列长度固定为8,且每个位置的字母固定是AGCT,可以选择改变的只有3个字母,所以一次最多24种情况。 然后检查变化后的结果是否存在bank中(使用hashSet来存储),同时设置…

这道题可以看成一个24叉树。

因为基因序列长度固定为8,且每个位置的字母固定是AGCT,可以选择改变的只有3个字母,所以一次最多24种情况。

然后检查变化后的结果是否存在bank中(使用hashSet来存储),同时设置一个visited集合来检查是否访问过。

class Solution {public int minMutation(String startGene, String endGene, String[] bank) {if (startGene.equals(endGene))return 0;char[] keys = { 'A', 'G', 'C', 'T' };Set<String> cnt = new HashSet<>();Set<String> visited = new HashSet<>();for (String str : bank) {cnt.add(str);}if (!cnt.contains(endGene))return -1;Queue<String> q = new ArrayDeque<>();q.offer(startGene);visited.add(startGene);int step = 1;while (!q.isEmpty()) {int size = q.size();for (int i = 0; i < size; ++i) {String curr = q.poll();for (int u = 0; u < 8; ++u) {for (int v = 0; v < 4; ++v) {if (keys[v] != curr.charAt(u)) {StringBuffer sb = new StringBuffer(curr);sb.setCharAt(u, keys[v]);String next = sb.toString();if (!visited.contains(next) && cnt.contains(next)) {if (next.equals(endGene))return step;visited.add(next);q.offer(next);}}}}}++step;}return -1;}
}

拓展:Queue使用ArrayList和LinkedList进行声明的区别
在Java中,Queue可以使用ArrayList和LinkedList进行声明。这两种数据结构在实现Queue时有一些区别。

使用ArrayList声明Queue的区别:

  1. 底层数据结构

    • ArrayList基于动态数组实现,它可以动态增长和缩小。
    • 插入和删除元素可能涉及重新分配内存和数据复制。
  2. 适用场景

    • 当需要随机访问队列中的元素时,ArrayList是更好的选择,因为它支持通过索引直接访问元素。
    • 如果需要频繁对队列进行随机访问、而且对队列的修改操作相对较少时,可以考虑使用ArrayList实现Queue。

使用LinkedList声明Queue的区别:

  1. 底层数据结构

    • LinkedList基于双向链表实现,每个元素都指向前一个和后一个元素。
    • 插入和删除元素的时间复杂度为O(1),因为只需要调整指针而不需要大量数据的搬移。
  2. 适用场景

    • 当需要频繁对队列进行插入、删除操作时,LinkedList是更好的选择,因为它的插入和删除操作效率更高。
    • 如果队列的操作主要是在两端进行(即头部和尾部),比如经常需要在队列头部和尾部进行插入、删除操作,可以考虑使用LinkedList实现Queue。

综合考虑:

  • 如果对队列中的元素进行频繁的随机访问,可以选择ArrayList实现Queue。
  • 如果对队列中的元素进行频繁的插入、删除操作,可以选择LinkedList实现Queue。

在实际应用中,需要根据具体的场景和需求来选择合适的数据结构来实现Queue。

http://www.yayakq.cn/news/971377/

相关文章:

  • 网站开发项目推荐东莞设计网站推荐
  • 邢台微信网站大型车产品网站建设
  • 整体网站开发网上购物网站建设公司
  • 做网站找哪家公司好精品课程网站建设开题报告
  • 做网站要学多久备案关闭网站
  • 百度权重高的网站建站资源
  • 专门做恐怖电影网站模板网站可以做seo吗
  • 网站建设企业文化建个网站需要多少钱?建网站要多少钱
  • 优化网站加载速度哪个网站做外贸
  • 网站筹建中云浮源峰网站建设工作室地址
  • 西宁网站建设方案网站建设链接怎么加上去
  • 想要建一个营销型网站 服务器的费用在多少南昌做建网站的
  • 自己做电影网站怎么赚钱高端网站建设,恩愉科技
  • 深圳做棋牌网站建设哪家技术好推广赚钱项目
  • 网站建设需要的技术设备产品介绍网站设计
  • 国外家具设计网站海南开发公司
  • 男女生做恶心的网站网站推广软件下载安装免费
  • 网站建设的资金光纤网络哪个公司好
  • 网站结构构图文化建设的重要性
  • 邹城网站制作网络设计与实施
  • 网站维护费大概多少软件开发工程师英文
  • 怎样自己开网站赚钱长沙制作公园仿竹护栏实体厂家
  • 公司网站如何被收录长沙网站设计公司哪家好
  • 海报制作网站免费wordpress如何创建项目
  • 同一产品做多个网站江苏南京最新通告
  • 色和尙做爰网站昆明几大网站
  • wordpress作品主题兰州做网络优化
  • 社交网站用户体验飞飞cms悠悠电影网站
  • 贵州做网站怎么推广深圳手机网站设计公司
  • 自助建手机网站免费建设网站企业排行