【发布时间】:2015-02-06 15:59:18
【问题描述】:
我今天有一个工作面试。在此期间,我被要求写下一个可以反转列表的算法。首先,我使用 reversed() 方法提供了答案:
x = [1,2,3,4,5]
y = reversed(x)
for i in y:
print i
进行采访的高级开发人员问我是否知道另一种方法,我在此基础上写下了另一种已知的切片方法:
x = [1,2,3,4,5]
y = x[::-1]
不幸的是,他也对这个解决方案不满意,并要求我考虑另一个解决方案。几分钟后,我说我想不出更好的了。他说这对他们的标准来说不够好。
我完全同意他的意见,并且对我的代码进行更多练习没有问题。我的问题是,如果有的话,我不知道有什么更好的解决方案。是否还有其他更“程序员”的方式...唯一想到的其他事情就是递归,但是我是在面试完成后才想到的。 谢谢。
【问题讨论】:
-
我想他是在找你建议一种算法,而不是预制的(和正确的!)Python 方法。
-
你问他在找什么吗?
-
看来是这样,我没有跳出框框思考。这是我第一次接受这种职位的面试。我太紧张了,想着我是多么愚蠢,而不是要求他澄清。