一、递归实现
时间复杂度:O(2^n)
空间复杂度:O(1)
public int Fibonacci(int n) {
if (n <= 1) {
return n;
}
return Fibonacci(n - 1) + Fibonacci(n - 2);
}二、动态规划
时间复杂度:O(n)
空间复杂度:O(1)
public int Fibonacci(int n) {
int first, second = 0, sum = 1;
for (int i = 1; i <= n; i++) {
first = second;
second = sum;
sum = first + second;
}
return second;
}


京公网安备 11010502036488号