因爲小青蛙一次只能跳1/2個臺階,因此如果要跳到第n個臺階,只能從n-1或者n-2臺階跳上去。典型的斐波那契數列,只不過第0項也爲1,只有這點區別。
class Solution {
public:
int numWays(int n) {
if(n < 2){
return 1;
}
int fib_N = 0,fib_O = 1,fib_T = 1;
for(int i = 2;i <= n; i++){
fib_N = (fib_O + fib_T) % 1000000007;
fib_O = fib_T;
fib_T = fib_N;
}
return fib_N;
}
};