剑指 Offer 10- II. 青蛙跳台阶问题
剑指 Offer 10- II. 青蛙跳台阶问题

和斐波那契数列一样的思路,这里有点不同的是,当台阶数为0的时候,有1中可达的方式,故而返回1。
class Solution {
public int numWays(int n) {
int MOD = (int)(1e9 + 7);
int a = 1, b = 2;
if(n == 0) return a;
if(n == 1) return a;
if(n == 2) return b;
int c = (a + b) % MOD;
for(int i = 3; i <= n; i++) {
c = (a + b) % MOD;
a = b;
b = c;
}
return c;
}
}

浙公网安备 33010602011771号