剑指offer 10- I. 斐波那契数列
题目描述
解题思路
注意点:(a + b) % m
等价于(a % m + b % m) % m
不要混淆:x % n
等价于x &(n - 1)
的前提是 n 是2的 n 次方
class Solution {
public int fib(int n) {
if (n <= 1) return n;
//base case
int dp_0 = 0, dp_1 = 1;
int res = -1;
for (int i = 2; i <= n; i++) {
res = (dp_0 + dp_1) % 1000000007;
dp_0 = dp_1;
dp_1 = res;
}
return res;
}
}