面试题9:裴波那切数列
2016-07-04 09:13
281 查看
面试题9
递归解法,不要使用:long long Fibonacci(unsigned int n) { if (n == 0) return 0; if (n == 1) return 1; return Fibonacci(n - 1) + Fibonacci(n - 2); }
循环:
long long Fibonacci_Solution2(unsigned n) { int result[2] = {0, 1}; if(n < 2) return result ; long long fibNMinusOne = 1; long long fibNMinusTwo = 0; long long fibN = 0; for(unsigned int i = 2; i <= n; ++ i) { fibN = fibNMinusOne + fibNMinusTwo; fibNMinusTwo = fibNMinusOne; fibNMinusOne = fibN; } return fibN; }
类似问题
青蛙跳台阶:问:一只青蛙一次可以跳上1级台阶,也可以一次跳上2级,问n级台阶总共有多少种跳法
解:这题完全是裴波那切数列,第一次跳有两种选择:跳一级,剩下f(n-1)种跳法;跳二级,剩下f(n-2)种跳法。故f(n) = f(n-1) + f(n-2)
矩形覆盖问题(P77),同样是裴波那切数列
相关文章推荐
- 面试题8:旋转数组中的最小数字
- Android面试题:sim卡的EF文件作用
- 剑指offer 面试题26 复杂链表的复制
- OSChina 周一乱弹 ——程序员的日常
- 推荐!国外程序员整理的机器学习资源大全
- 推荐!国外程序员整理的机器学习资源大全
- 全球最杰出的14位程序员
- 1985年程序员是如何写代码的
- 转载-经典面试题
- 作为一名程序员这些代码托管工具你都知道吗?
- 糟糕的程序员有哪些招牌特质?
- 1.3 面试问题整理:测试网页的搜索功能
- Web前端开发面试题赋答案
- 1.2 面试问题整理 : 软件测试的流程
- 程序员必备书籍
- iOS面试题3【附部分答案】
- 进击的码农8
- iOS面试题【附部分答案】2
- iOS面试题【附部分答案】
- 面试集及经验收集