腾讯一面原题,你能答出来吗?
题目描述
有两根不规则的绳子,两根绳子从头烧到尾均需要一个小时,现在有一个45
分钟的比赛,裁判员忘记带计时器,你能否通过烧绳子的方式来为这场比赛计时?
思路解析
逻辑思维题在面试中出现的频率还是挺高的,通过逻辑思维题面试官可以看一下候选人应对一个未知的问题表现是怎样的,加上面试的紧张氛围,大部分同学面对这种题目都是大脑一片空白,无从下手,这个时候你也不要着急放弃,可以让面试官给点提示,这一来一往的交流可以缓解一下紧张的氛围,通过面试官的提示能答出来,也会让面试官认为你思维活跃一点就通。思考的空闲可以赏个赞和关注,主页更精彩。
言归正传,这道题在我自己求职面试的过程中至少遇到过3
次,这里把本题的思路分享给大家。
如果绳子是规则均匀的,我们可以通过对折的方式把绳子标记为4
段,点燃一端,烧到提前标记的3/4
处就是45
分钟。
但是本题的前提是绳子是不规则的,这个时候能不能解答出来的关键在于你有没有意识到一根绳子同时点燃两头,燃烧完的时间为30
分钟。
基于上面的思路,我们先给两根绳子编个号分别为A绳
和B绳
,点燃A绳
的一端,同时点燃B绳
的两端,当B绳
烧完的时候时间就过去30
分钟,这个时候A绳
还需要30
分钟才能烧完,但是如果我们在B绳
烧完的时候点燃A绳
的另一端,两端同时烧A绳
就还需要15
分钟可以烧完。这样两根绳子烧完总用时45
分钟,所以我们可以通过烧绳子的方式来为这场比赛计时。
最后分享一份算法题目列表blind75,这里既提供了经典题目列表,还提供了对应的高质量题解,让刷题更有效率。非常适合刚刚开始刷题或者为了找工作刷题的同学。
此题目列表包含的知识点是比较全面的。
常用的数据结构: 数组、字符串、链表、二叉树、图、前缀树、集合、映射、栈、队列、堆都有覆盖。
常用的解题方法: 递归、迭代、二分法、回溯、贪心、动态规划、位运算、双指针、模拟、拓扑排序、桶排序、单调栈、深度优先搜索、广度优先搜索都有覆盖。
另外题目列表和题解都开源在github上了,欢迎大家提建议。
还有一份硬核后端资料也分享给大家。
#晒一晒我的offer##我发现了面试通关密码##在找工作求抱抱##牛客解忧铺##我的实习求职记录#