题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
答题框架
class Solution {
public:
int jumpFloorII(int number) {
}
};
解题分析
因为这个青蛙步子很大 在任意一个位置都可以抵达另一个位置
将每个位置初始化为0 如果青蛙经过了就赋值为1
即得解题即求2^number-1
特别的 当number=0时 方案为0
代码
class Solution {
public:
int jumpFloorII(int number) {
if(number==0)
return number;
int ans=1;
for(int i=1;i<number;i++)
ans*=2;
return ans;
}
};