题目描述
一只青蛙一次可以跳上 1 级台阶,也可以跳上 2 级。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。
class Solution {
int DFS(int number,int* dp)
{
if(number<=3)
{
dp[number]=number;
return number;
}
if(dp[number-1]!=0)
{
dp[number]=dp[number-1]+dp[number-2];
return dp[number];
}
else
{
dp[number]=DFS(number-1,dp)+DFS(number-2,dp);
return dp[number];
}
}
public:
int jumpFloor(int number) {
int *dp=new int[number+1];
fill(dp,dp+number+1,0);
return DFS(number,dp);
}
};