变态跳台阶
变态跳台阶
题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
卧槽, 这题还有先后顺序, 有排序, 刚开始以为没排序
C++没有幂运算符, ^
代表幂运算!!!
题外话, 一次能跳上n个台阶是挺BT的
class Solution {
public:
int jumpFloorII(int number) {
if (0 >= number) {
return 0;
}
if (1 == number) {
return 1;
}
return pow(2,(number - 1));
}
};
版本二: 自己构建幂函数
class Solution {
public:
int myPow(int n) {
int ret = 0;
if (1 == n) {
return 1;
}
if (2 == n) {
return 2;
}
ret = 2 * myPow(n - 1);
return ret;
}
int jumpFloorII(int number) {
if (0 >= number) {
return 0;
}
return myPow(number);
}
};