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

网站和搜索引擎音乐网站开发

网站和搜索引擎,音乐网站开发,东莞企业如何建网站,便宜做网站的公司哪家好题目描述 给定一个链表#xff0c;判断链表中是否有环 题目链接 141. 环形链表 解题思路 使用快慢指针#xff08;Floyd判圈算法#xff09;#xff1a;从链表的头部设置两个指针#xff0c;p1的步长为1#xff0c; p2的步长为2#xff0c;同时向前走#xff0c;如…题目描述 给定一个链表判断链表中是否有环 题目链接 141. 环形链表 解题思路 使用快慢指针Floyd判圈算法从链表的头部设置两个指针p1的步长为1 p2的步长为2同时向前走如果p1和p2最终能够相遇则说明链表是有环的。 检测环的基本思想是非常简单的可以类比成两个人在跑道上跑。只要有圈跑的快的那个人就一定能够追上跑得慢的那个人。 代码 public class Solution {public boolean hasCycle(ListNode head) {if (head null) {return false;} //设置快慢指针ListNode slow head, fast head.next;while(slow!nullfast!nullfast.next!null){if(slow fast){return true;}slow slow.next;fast fast.next.next;}return false;} }扩展 求环的长度 两个人相遇的是时候一定已经在环上了然后两个人只要再次在环上接着跑再次相遇的时候也就是所谓的套圈跑的快的那个人就比跑得慢的人整整多跑了一圈所以环的长度也就出来了。 用算法来描述第一次相遇后p1和p2按照原来的步长继续向前查找并且记录下两个指针遍历过的节点个数。当两个指针再次相遇的时候遍历的节点数量差就是环的长度。 求环的起点 解决方法 把其中的一个指针重置到链表头部然后两个指针步长都为1继续向前移动相遇的位置即为环的起点。 解释 首先我们设第一次相遇的时候慢指针走过的节点个数为i 设链表头部到环的起点的长度为m, 环的长度为n相遇的位 置与起点位置距离为k。 则可以得到: i m a * n k 其中a为慢指针走的圈数。 根据快指针和慢指针的速度关系我们可以得到另一个式子: 2 * i m b * n k 其中b为快指针走的圈数。 简单处理得到: i (b - a) * n 也就是说i是圈长的整数倍。 这时将其中一个节点放到起点然后同时向前走m步时此时从头部走的指针在m位置。而从相遇位置开始走的指针应该在距离起点i m, i为圈长整数倍则该指针也应该在距离起点为m的位置即环的起点。 参考 Floyd判圈算法Floyd判圈算法Floyd判圈算法龟兔赛跑算法
http://www.pierceye.com/news/317583/

相关文章:

  • seo网站关键词优化排名鄂州市网站
  • 哈尔滨网站域名归那里管网页版qq登录入口官网手机
  • 深圳建网站公司哪家好wordpress 采集系统
  • 网站发布与推广广州品牌网站设计公司
  • 帮忙做公司网站淘宝运营培训多少钱
  • 湘潭网站建设搭建WordPress多条件搜索
  • 信息技术 网站建设教案官网定制
  • 丽水专业网站建设公司淘宝美工培训推荐
  • 如何比较网站小程序商城开发平台
  • 品牌推广宣传词seo整站优化更能准确获得客户
  • 五八同城找工作招聘信息seo服务如何收费
  • 冒充it男给某网站做修复欧美专业牙科医院网站网页源码
  • 搭建网站需要做什么大型 视频网站开发
  • 济南招考院网站网站建设需要些什么东西
  • 手机怎么搭建网站厦门 做网站
  • 网站底部友情链接典型十大优秀网络营销案例
  • 公司装修工程免费推广软件平台seo博客
  • 树状结构的网站一个人可以做多少网站
  • 什么网站是专门做评论赚钱的响应式网站标准尺寸
  • 梅州市建设培训中心网站济南网上房地产
  • 海口网站提升排名专业做公司logo的网站
  • fm网站开发做网站自动赚钱
  • 网站二级导航制作wordpress找人做
  • 网站建设市场占有率网站开发工程师的职责
  • wordpress 单本小说站做网站前景
  • 只做网站可以在百度里收到吗平面设计是干嘛的
  • 义乌网站建设优化推广网站开发需要哪些人怎么分工
  • 关键词排行优化网站企业seo外包
  • 自适应网站怎么做广西建设局建设行政主管部网站
  • 把网站做成手机版学网页设计的培训