斐波那契数(DP-01)
解题思路
读题,可知:要计算斐波那契数的第 n 项,就需要知道 n-1 和 n -2 项的值。事实上,题干已经对此进行了分析,并给出了状态方程 f[n] = f[n-1] + f[n-2], 这一方程的初始条件为 f[0] = 0, f[1] = 1
综上,不难看出,如果我们建立一个数组以表示其状态,那么数组的第 n 项就应当为
f[n-1] + f[n-2], n > 1
1, n = 1
0, n = 0
代码
class Solution {
public int fib(int n) {
if (0 == n) return 0;
int[] fib = new int[n + 1];
fib[0] = 0;
fib[1] = 1;
for (int i = 2; i <= n; i ++) {
fib[i] = fib[i - 1] + fib[i - 2];
}
return fib[n];
}
}
浙公网安备 33010602011771号