西西河

主题:【纪事】失败的苹果面试(上) -- 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个值的关系表达得很清楚。

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河