动态规划的思想,n 级台阶的跳法必定是 n-1级和 n-2级跳法的和。变成了斐波那契数列求和
滚动数组,我们只需要保存三个数就可以了,利用这三个数不断地往后推即可
矩阵快速幂,显然的困难级别的做法,类似于线段之类的,要是学过就会写,凭空不可能想出来,就不多说了
自己的(0ms)
class Solution {
public int numWays(int n) {
if(n < 2)
return 1;
int a = 1, b = 2,c = 2;
while(n > 2){
c = a + b;
c %= 1000000007;
a = b;
b = c;
n--;
}
return c;
}
}