变态跳台阶
题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
题解
n=? 跳法总数
n=1 1->2的0次幂
n=2 2 ->2的1次幂
n=3 1+2 +1 =4 ->2的2次幂
n=4 1 2 1 3=8 ->2的3次幂
这就是数学找规律
n ->2的n-1次幂
代码
class Solution { public: int jumpFloorII(int number) { /** n=? 跳法总数 n=1 1 n=2 2 n=3 1+2 +1 =4 n=4 1 2 1 3=8 这就是数学找规律 */ //return number<=0?1:jumpFloorII(number-2)*2; return pow(2,number-1); } };