查看: 1586| 回复: 3
跳转到指定楼层
上一主题 下一主题
收起左侧

[高频题] linkedList 找环口节点证明

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
利口142这道老题似乎现在出得很少了,解法比较巧妙需要证明。我最近看一个视频说不要求证明。
此外现在很多面试官出这种题测试候选人是否诚实。(注:之前我在水果电面时候,HM问了很多问题,我觉得我都答得很好,侃侃而谈,然后留了一点时间写代码我就迅速写完了,一道跟股票3类似需要回扫的解法。老板问我是否见过,我答曰没有见过,但我告其我做过股票这道题,给他快速讲了下类似点。结果收效似乎不好,没有下一步了。。)

所以,我觉得这题必须是做过且会证明,不能证明解出来不尴尬吗。。


网上有些讲解,我觉得只需两句就能说清楚这个的证明;
l = 起点到环扣的距离, a = 环扣处顺时针到快慢指针相遇处距离,b = 快慢相遇的位置到环扣处的距离; (a+b = 环周长,画图一目了然)
证明: 2*(l+a) = l + a + n(a+b) =>l +a = n(a+b) => l = b  存在n使得等式成立。
解释;
等号左边为慢指针走到快慢相遇处距离l+a,加上第二次从头出发得指针走到快慢相遇的距离l + a;
等号右边为慢指针走到快慢相遇处距离l+a,加上快慢相遇处慢指针开始绕圈n*(a+b)。

评分

参与人数 1大米 +10 收起 理由
14417335 + 10 给你点个赞!

查看全部评分


上一篇:也谈谈怎么刷题
下一篇:[two points][sliding window] K Unique Characters类型题目整理
全局:
还是挺好证明的:
(a + b) * 2 = a +b + k * (b + c)
so, a + b = k * (b + c)
(a + b) - (b + c) = k * (b + c) - (b + c)
a - c = (k - 1) * (b + c)
a = c + (k - 1) * (b + c), b + c = distance of the circle/loop, k is constant
回复

使用道具 举报

🔗
juus 2019-4-16 14:41:51 | 只看该作者
全局:
哇塞,这题很老了而且很tricky,真的会考吗 T...T
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表