变态跳台阶
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
*/ C++ 解法
class Solution {
public:
int jumpFloorII(int number) {
if (number <= 0)
return -1;
else if (number == 1)
return 1;
else
return 2*jumpFloorII(number-1);
}
};
*/
class Solution {
public:
int jumpFloorII(int number) {
return pow(2,number-1);
}
};
*/
class Solution {
public:
int jumpFloorII(int number) {
int a = 1;
return a << (number-1);
}
};
*/
class Solution {
public:
int jumpFloorII( int number) {
int *a = new int[number+1];
a[0] =1;
a[1] =1;
for (int i=2; i<=number; i++){
a[i] = 0;
for(int j= i-1; j>=0;j--){
a[i] += a[j];
}
}
return a[number];
}
};
*/
class Solution {
public:
int jumpFloorII(int number) {
int fn = 1;
for (int i = 2; i<=number;i++)
fn *=2;
return fn;
}
};
*/Python解法
# -*- coding:utf-8 -*-
class Solution:
def jumpFloorII(self, number):
# write code here
return 2**(number-1);