题目:10- II. 青蛙跳台阶问题
思路分析: 本质是在求斐波那契数列,也就是当前值是前两个值之和。
初始化
cur代表当前i台阶的走法,初始值为1;pre代表i-1台阶的走法,初始值为1;
迭代,每求增加一个台阶,就要进行如下操作:
更新cur = cur + pre;更新pre = cur - pre;
返回cur
class Solution {
public int numWays(int n
) {
int pre
= 1;
int cur
= 1;
int res
;
for(int i
= 0; i
< n
-1; i
++){
res
= (pre
+ cur
) % 1000000007;
pre
= cur
;
cur
= res
;
}
return cur
;
}
}
目前cur是代表1阶台阶,根据输入的n,计算需要迭代的次数n-1