class Solution {
public int fib(int n){
if(n < 2){
return n;
}
int a = 0, b = 1, c = 0;
//f(5) = ? 0 1 1 2 3 5
for (int i = 1; i < n; i++){
c = a + b;
a = b;
b = c;
}
return c;
}
//非压缩状态版本(掌握)
public int fib1(int n){
if(n < 2){
return n;
}
//dp[i]表示 斐波拉契数f(i)
int[] dp = new int[n+1];
//初始化
dp[0] = 0;
dp[1] = 1;
for (int i = 2; i < n + 1; i++){
dp[i] = dp[i-1] + dp[i-2];
}
return dp[n];
}
}
斐波拉契数列——【LeetCode】
最新推荐文章于 2024-07-25 19:34:38 发布