题目描述:
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
题解:
class Solution {
public:
int jumpFloorII(int number)
{
vector<int> dp(number+1,0);
dp[0] = 1;
for(int i=1;i<=number;++i)
{
for(int j=0;j<i;++j)
{
dp[i] += (dp[j]);
}
}
return dp[number];
}
};
解题思路:
动态规划:
青蛙既然可以任意跳,那么它到以个台阶的方法,就是它到之前所有台阶的方法的总和