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

中核工建设集团有限公司网站全国大型免费网站建设

中核工建设集团有限公司网站,全国大型免费网站建设,网址导航网站,电子商务网站建设渠道问题引入 如何检测一个链表是否有环#xff0c;如果有#xff0c;那么如何确定环的长度及起点。 引自博客#xff1a;上述问题是一个经典问题#xff0c;经常会在面试中被问到。我之前在杭州一家网络公司的电话面试中就很不巧的问到#xff0c;当时是第一次遇到那个问题如果有那么如何确定环的长度及起点。 引自博客上述问题是一个经典问题经常会在面试中被问到。我之前在杭州一家网络公司的电话面试中就很不巧的问到当时是第一次遇到那个问题毕竟太菜没有专门准备过算法面试我思考片刻问答的是用一个哈希表存储访问的节点的地址当访问某节点时发现哈希表中已存在表明链表中存在环。面试官听了我的回答就反问了我一句如果链表的环很大那么哈希表的空间消耗就很大你的方法并不实用。你能在不消耗额外空间的情况下找到链表的环吗当时想了很久没想到面试官就说可以这样做balabala... 算法描述 解决上述问题的方法就是我们常说的快慢指针。乌龟与兔子在一个含环的跑道上如图所求进行比赛乌龟在单位时间内移动一步而兔子则在单位时间内移动两步其移动速度是乌龟的两倍。乌龟与兔子同时从A点出发兔子移动的快先行进入环形跑道但那以后一直在转圈。所以如果存在环的话乌龟总能与兔子相遇首次相遇在C点。 假设乌龟刚进入环时兔子在环中任何一位置此时二者相差距离为m以后每运动一次兔子两步乌龟一步二者距离减少1运动几次后距离总能变成0所以慢指针走一步快指针走两步二者一定能相遇但慢指针走一步快指针走三步或者其他组合方式可能并不一定能相遇需要注意。 判断是否有环 定义两个指针p1与p2起始时都指向链表的起点Ap1每次移动1个长度p2每次移动2个长度。如果p2在移到链表的尾端时并未与p1相遇表明链表中不存在环。如果p1与p2相遇在环上的某一点C表明链表有环。 环的长度 将指针p1固定在相遇位置C移动p2每次移动1个长度并用变量cnt计数。当p2再次与p1相遇时此时cnt的值就是环的长度。 环的起点 环的起点即图中点B将指针p1指向链表的起始位置A指针p2仍在位置C指针p1与p2每次均移动一个单位p1与p2再次相遇的位置就是环的起点位置点B。 简单证明 上面求链表是否存在环及求环的长度的思路都很好理解主要是为什么p1与p2再次相遇就是环的起点呢这里假设从跑道的起始点A到环的起点B的路程为m从B到相遇点C的路程为k环的长度为n相遇时乌龟的爬行路程为S1mkt1*n兔子的奔跑距离为S2mkt2*n(t2t1)兔子的速度是乌龟的两倍即S22*S1则S1S2-S1(t2-t1)*n,S22*(t2-t1)*n,即兔子和乌龟相遇时的奔跑距离都为环的整数倍而mk(t2-2*t1)*n也为环的整数倍。当兔子回到跑道的起始位置乌龟从相遇点B出发时这时两人的速度均为单位时间内爬行1个长度当兔子到达环的起点B即爬行了m距离时乌龟则是km此时刚好爬行环的整数倍也处于环的起点B即乌龟与兔子再次相遇的位置即为环的起点位置B。 参考链接弗洛伊德的兔子与乌龟
http://www.zqtcl.cn/news/650506/

相关文章:

  • 建设企业网站公司价格page做网站
  • 直播网站建设模板跨境电商选品
  • 购物网站有哪些shop++是什么
  • 自动化优化系统网站建设网站建设类文章
  • 网站建设以及推广提案书支付通道网站怎么做
  • 上海兼职做网站凤凰军事新闻
  • 青田建设局网站ui培训哪好
  • 佛山网站seo哪家好全返网站建设
  • 快速建站哪个平台好常见网页设计
  • 织梦网站地图模板网站服务费
  • 织梦建设两个网站 视频互联网公司排名1000
  • 广州企业网站设计西昌手机网
  • 一个工厂做网站有用吗wordpress重写登录页面
  • 网站服务器如何搭建网站分页设计
  • 可以直接进入网站的正能量连接温州注册网络公司
  • 清丰网站建设价格福州绿光网站建设工作室
  • 武城网站建设价格东莞容桂网站制作
  • 工作室网站需要备案吗wordpress群发工具
  • 官方网站娱乐游戏城自己做网站的好处
  • 查询建设规范的网站1元网站建设精品网站制作
  • 社交网站的优点和缺点个人网页制作软件
  • 做一家算命的网站有没有专门做淘宝客的网站
  • 网站站点管理在哪里建筑施工图设计
  • 众筹网站开发周期网页云原神
  • 哪些网站可以免费做h5东莞制作企业网站
  • 帝国cms 网站地址设置深圳住房和建设部网站
  • 专业网站建设价格最优网页游戏大全电脑版在线玩
  • 建设租车网站wordpress+js插件开发
  • 定制网站开发与模板商务酒店设计网站建设
  • php 网站部署后乱码wordpress禁止调用头部