题目:
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。
n<=39
思路:

- 方法1:递归;
- 方法2:减少重复计算,将fibNMinusOne 和 fibNMinusTwo用来存之前计算的数,时间复杂度O(n)。
程序:
public class subject7 {
public static int Fibonacci(int n) {
int result = 0;
int fibNMinusOne = 0;
int fibNMinusTwo = 1;
if(n <= 0) {
return 0;
}
if(n == 1) {
return 1;
}
while(n != 1) {
result = fibNMinusOne + fibNMinusTwo;
fibNMinusOne = fibNMinusTwo;
fibNMinusTwo = result;
n --;
}
return result;
//方法1:return Fibonacci(n - 1) + Fibonacci(n-2);
}
public static void main(String args[]) {
System.out.println(Fibonacci(10));
}
}
本文介绍了一种高效计算斐波那契数列的方法,避免了传统递归算法的重复计算问题,通过迭代实现了O(n)的时间复杂度,适用于计算机科学领域的初学者和编程爱好者。
313

被折叠的 条评论
为什么被折叠?



