http://www.cnblogs.com/tonybinlj/archive/2009/01/04/1367856.html
中看到这篇文章。
其中提到
大家来做这样一道简单题目,测试一下你解决问题的逻辑思维及算法能力。如果你能在三个小时之内能写出实现算法,恭喜你,你有成为大师级别程序员的潜在能 力。如果三天内写出算法,你一直努力就可以成为牛人级程序员。如果三个星期内能写出来,你是一个正常的程序员的思维水平。如果两个月都没有写出来,你智商 不适合做程序员,还是早点放弃吧。
我就感到有些兴趣试试了,希望能成为大师级别的。
开始我尝试使用集合+迭代的方式来做。
代码如下(不作优化,仅用作实现):
Code
以上实现方式能达到题目要求,答案为:10
但是,使用了迭代,并且多次声明IList<int>类型,总感觉有些不妥。
因此,尝试使用了另一种方案:
使用数组,并使用for()循环来进行判断。
在for()中,我们可以将判别条件置0,这样可以达到迭代的效果。
个人写的代码仍然很杂乱。
以下代码摘自:http://www.the9web.com/blog/2009/01/04/90/,写得很巧妙,值得大家研究研究
Code
//最后,我感觉无论在哪种语言下,实现这个题目的需求并不难,难的在于如何巧妙的实现。
//当然,我的第一种方式写得很稚嫩,拿不上台面。各位不要拍砖。