【从零单排之微软面试100题系列】19之Fibonacci数列

来源:互联网 发布:java中jedis方法 编辑:程序博客网 时间:2024/05/02 01:42

原题参见july大神博客系列【微软面试100题】


题目描述:用尽量快的方法求解Fibonacci数列第n项。


分析思路:(本题亦见于《剑指offer》面试题9)

显然适用递归的方法会比较慢,也不是面试官的考点,那就从迭代的思路考虑。

long long Fibonacci(unsigned int n){int result[2] = {0,1}; if(n<2) return result[n];long long fibMiddle1 = 0;//用来保存中间值long long fibMiddle2 = 1;//用来保存中间值long long fibResult = 0;//用来保存结果for(unsigned int i = 2; i <= n; ++i){fibResult = fibMiddle1 + fibMiddle2;fibMiddle1 = fibMiddle2;fibMiddle2 = fibResult;}return fibResult;}




0 0
原创粉丝点击