西西河

主题:【纪事】失败的苹果面试(上) -- landlord

共:💬133 🌺776 新:
全看树展主题 · 分页
/ 9
上页
家园 她知道你很牛,但是想证明她更牛,因为她可能要当你的领导。

明白了这点,你应该知道怎么对待她了。

家园 花,不过

不过苹果怎么会有这样的面试官……

家园 以后有编程方面的问题得多请教兄台了
家园 地主都多久没来了,你还找他?
家园 刚躺在床上想到一个极妙的招数。一个双重循环搞定。

中学数学,这样的排列组合总共有2^n(杨辉三角的第n+1行)。

所以i从1循环到2^n。对二进制数i,每一位为1则加上,为0则不加。

for(i=1;i<=2^n;i++)

{

sum=0;

for(j=0;j<n;j++)

{

if((i>>j)&0x01)

sum+=set[j];

}

if(sum==N)

return TRUE;

}

return FALSE;

家园 唉俺以前不知道西西河

上大学后才来河里逛,不想许多人走了

家园 握手,就是这样想的,也是按这么解决的。
家园 这说的就是我啊,哈哈
家园 这个要收藏
家园 有啊。

但你的薪水有些低。才6万,也就$30/hr。这也就勉强是IT Consultant的入门水平吧。

家园 原来如此

我当时想找的是中国人,抱歉不是外国公民。我上司的补贴就7000美元因为他是美国人。

现在已经早就找到了,是一个要去淘宝的临时做了下。

家园 佩服,我要能遇上您这样的面试官就好了。
家园 好代码自己会说话

记得我们初学编程的时候,各位同学都在力求找到最优算法,写出最精简的代码,结果就导致有时候很难读懂。后来才渐渐意识到写代码还是简单质朴为好。所谓“重剑无锋,大巧不工”:-)

上面这段代码,我大概会这样写:

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个值的关系表达得很清楚。

全看树展主题 · 分页
/ 9
上页


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

Copyright © cchere 西西河