主题:【纪事】失败的苹果面试(上) -- landlord
共:💬133 🌺776
记得我们初学编程的时候,各位同学都在力求找到最优算法,写出最精简的代码,结果就导致有时候很难读懂。后来才渐渐意识到写代码还是简单质朴为好。所谓“重剑无锋,大巧不工”:-)
上面这段代码,我大概会这样写:
int fib(int n)
{
assert(n>0);
int a1=1, a2=1, a3;
if (n == 1) return a1;
if (n == 2) return a2;
for (int i = 3; i <= n; i++)
{
a3=a1+a2;
a1=a2; a2=a3;
}
return a3;
}
编译出的机器代码应该是一样的,但是人读起来就更容易了。数列中相邻3个值的关系表达得很清楚。
- 相关回复 上下关系8
压缩 3 层
🙂这个行不? 1 frnkl 字430 2009-08-25 11:06:40
🙂花 holycow 字64 2009-08-25 13:50:23
🙂这答案能进入10%队列吗 1 股市就是搏傻游 字441 2009-08-24 20:56:42
🙂好代码自己会说话
🙂兄台做得非常不错,赞一个 4 holycow 字350 2009-08-25 13:42:33