题解 | #跳台阶扩展问题#
跳台阶扩展问题
http://www.nowcoder.com/practice/22243d016f6b47f2a6928b4313c85387
描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶(n为正整数)总共有多少种跳法。
示例1
输入:
3
返回值:
4
数学方法:
class Solution {
public:
int jumpFloorII(int number) {
return pow(2, max(0, number-1)); // 数学方法
}
};动态规划:
class Solution {
public:
int jumpFloorII(int number) { // 动态规划
if (number < 2) return 1;
int dp1 = 1;
int dp;
for (int i = 2; i <= number; i++) {
dp = 2 * dp1;
dp1 = dp;
}
return dp;
}
};
SHEIN希音公司福利 222人发布