Question
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
关键词:动态规划
Solution
动态规划
时间复杂度:O(N)
空间复杂度:O(1)
- Python
class Solution:
def jumpFloorII(self, number):
if number<3:
return number
allsum = 3
for i in range(number-2):
ans = allsum + 1
allsum += ans
return ans
- C++
class Solution {
public:
int jumpFloorII(int number) {
if(number<3)
return number;
int allsum = 3;
int ans = 0;
for(int i = 3; i <= number; i++){
ans = allsum + 1;
allsum += ans;
}
return ans;
}
};