【Leetcode算法500题】目前B站最完整的数据结构算法教程,包含所有刷题攻略!这还没人看,我不更了!

作者: 图灵学院徐庶分类: 计算机技术 发布时间: 2022-03-29 18:54:11 浏览:226947 次

【Leetcode算法500题】目前B站最完整的数据结构算法教程,包含所有刷题攻略!这还没人看,我不更了!

六铭LHY:
我看到桌子上的书了,目测三部曲[喜极而泣]

【回复】回复 @大可达鸭鸭 :《背叛》《遥远的救世主》《天幕红尘》
【回复】[嗑瓜子]这都被你发现了
爱民谣的栗子:
本羸弱关于P12环状链表2解法的一种证明: 基于这种环形链表只有一种形式:链+环; 设前面的链长为x,后面的环长为y,环的节点进行一个标号(0到y-1): 所要求得的就是环上标号为0的节点位置; 模拟三种状态: 1)开始时快指针走2步,慢指针走1步,我们可以认为快指针必定先走完链进入环(链长是否为0不重要)那么当慢指针走进环时,也就是走了x步后,快指针的位置应该在环内的x%y节点处(走了2x步,x步走链,x步在环里转圈); 2)类似变为了一个追及问题,快指针追慢指针,根据以上算得快慢指针进入环时的初始状态,可以得知它们会在节点(y-x%y)处相遇; 3)慢指针回到表头,快慢指针之后每次都只走1步,设它们t步后相遇(必然t>=x),这样它们相遇时,有方程(t-x)%y=(y-x%y+t)%y,化简后我们会发现这个方程是个必然结论,t>=x时t为多少都成立,这说明在当慢指针刚进入环的时候二者就相遇了,相遇的点即为所求,得证。 ps:这是现场就能想出来的方法?太巧妙了,我思索了半天,一整个膜了。 仅是本羸弱的一丝看法~友友们能更简单地想出解法的话,请多多交流嗷~[吃瓜]

【回复】我这里有种好理解的想法,大家看看是不是这么回事,同样设前面的链长为x,后面的环长为y,快指针走的步数一定是慢指针的两倍,他们的差是环中节点数,即y,所以慢指针走了y步,所以慢指针此时距离进入环的那个节点的步数一定是x(总节点数x+y减去已经走过的节点数y),即环前面的节点数x。
【回复】可以看做两个人在100米赛道往返跑步 一个人一分钟跑10米 另一个人一分钟跑20米 两人第一次相遇一定是在终点 所以p13中当慢支针回归头部时 快指针一定在环形的终点
柚米露:
讲的太棒了,确实平常很多不懂的地方都解惑了。[脱单doge][脱单doge][抠鼻][抠鼻]

计算机 算法 程序员 编程 刷题 LEETCODE 面试 数据结构 求职 剑指OFFER

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

更多相关阅读