您的位置:首页 > 职场人生

剑指offer面试题9 斐波那契数列

2017-08-11 19:36 239 查看
解题思路:传统的利用递归求斐波那契数列的第n项,遇到挑剔的面试官,可能他们不会喜欢,因为这种方法中存在比较多的重复计算,当n较大时,会严重影响算法的效率,因此采用其他思路。更简单的方法是从下往上计算,首先根据f(0)和f(1)算出f(2),设计三个局部变量first和last和sum,每一次将first+last的值赋给sum,然后将last的值作为下次计算的first,sum的值作为下次计算的last,直到循环到n为止。

public int Fibonacci(int n) {

int first = 0;
int last = 1;
int i = 1;
int sum = 0;

while (i < n) {

sum = first + last;
//代表下一步的first
first = last;
//代表下一步的last
last = sum;
i++;
}
return sum;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息