题意:
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。
求该青蛙跳上一个n级的台阶(n为正整数)总共有多少种跳法。
方法一:
找规律
思路:
class Solution {
public:
int jumpFloorII(int number) {
return 1<<(number-1);//计算2^(number-1)
}
};
时间复杂度:
空间复杂度:![]()
方法二:
模拟优化
思路:根据方法一的思路:
第 i 项=第 i-1 项 * 2。
累成即可。
class Solution {
public:
int jumpFloorII(int number) {
int res=1;
for(int i=2;i<=number;i++){//累乘2
res*=2;
}
return res;
}
};
时间复杂度:
空间复杂度:![]()



京公网安备 11010502036488号