一、求青蛙跳台阶
1.题目描述
2.题目链接
3.解题思路
- 解题思路1:递归法只适用于n较少时使用,n如果太大的话递归有很多的重复计算,效率低。
class Solution {
public:
int numWays(int n)
{
if(n==0||n==1)
{
return 1;
}
else
{
return numWays(n-1)+numWays(n-2);
}
}
};
- 解题思路2:动态规划
class Solution {
public:
int numWays(int n)
{
if(n==0||n==1)
{
return 1;
}
else if(n==2)
{
return 2;
}
else
{
int n1=1;
int n2=2;
int n3=0;
while(n>2)
{
n3=(n1+n2)%1000000007;
n1=n2;
n2=n3;
n--;
}
return n3;
}
}
};