题目描述
大家都知道斐波那契数列,现在要求输入一个整数 n,请你输出斐波那契数列的第 n 项。
n<=39
解题思路
- 递归:递归的话重复计算的值比较多,不是很好。不过代码很精简;
- 循环:用两个值记录当前值,循环的时候不断更新,直到找到第 n 个数。
递归代码:
public class Solution {
public int Fibonacci(int n) {
if (n == 0)
return 0;
if (n == 1 || n == 2)
return 1;
return Fibonacci(n-1) + Fibonacci(n-2);
}
}
循环代码:
public class Solution {
public int Fibonacci(int n) {
if (n == 0)
return 0;
if (n == 1 || n == 2)
return 1;
int tmp1 = 1;
int tmp2 = 1;
n -= 2;
while (n != 0) {
int tmp = tmp1 + tmp2;
tmp1 = tmp2;
tmp2 = tmp;
n--;
}
return tmp2;
}
}
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于