2012年5月1日,07:28 pm
有一个数组包含从1到的所有整数n个以某种顺序,除了缺少一个整数。建议一个有效的算法来查找缺失的数字。
当我开车送他离开机场时,一位朋友向我提出了上述问题。他刚刚参加了一次面试,面试中他们给了他两个问题。这个问题可以在线性时间和恒定空间中求解。
但我的朋友对下一个问题感到非常兴奋:
有一个数组包含从1到的所有整数n个按照一定的顺序,除了一个整数缺失,另一个整数重复。建议一个有效的算法来找到这两个数字。
我的朋友发现了一种算法,它也适用于线性时间和恒定空间。然而,面试官并不知道这个解决方案。面试官希望算法能在n个日志n个时间。
该公司声称,他们正在寻找世界上最聪明的人,我的朋友为他们提供了一个令人印象深刻的解决方案。尽管他很兴奋,但我预测他们不会雇用他。猜猜谁是对的?
我这样反应是因为我自己的故事。许多年前,我在一家公司面试,该公司也需要世界上最聪明的人。在采访中,那家伙给了我一张问题清单,但他说他并不指望我能解决所有的问题,只有几个。这些问题太难了,他想和我坐在一起读,以确保我理解它们。
问题是奥运会风格,这是我的专长。当我们在读的时候,我解出了一半。在接下来的一个小时里,我解决了剩下的问题。面试官大吃一惊。他告诉我,他和他的同事们一直在努力解决一个长期以来无法解决的问题。他让我试试。我也解决了这个问题。你猜怎么着?我没有被录用。因此,我对朋友采访的反应。
好消息是:我仍然记得他们无法解决的问题:
一辆汽车在一条有几个加油站的环形道路上。加油站的汽油不足,加油站和车内的总可用汽油量正好足以让汽车绕马路行驶一圈。路上真的有一个地方可以让汽车开始行驶,在每个加油站停下来加油,这样汽车就可以完成一整圈而不会耗尽汽油吗?假设汽车油箱足够大,不会出现限制。
共享: