青蛙跳台阶
动态规划问题,最后一步总是有两种方法:
①走一步,那么前面有f(n-1)种跳法
②走两步,那么前面有f(n-2)种
f(n)=f(n-1)+f(n-2)
f(0)=1;f(1)=1;
class Solution {
public int numWays(int n) {
if(n<2) return 1;
int [] an=new int[n+1];
an[0]=1;
an[1]=1;
for(int i=2;i<=n;i++)
{
an[i]=(an[i-1]+an[i-2])%1000000007;
}
return an[n];
}
}
斐波那契数列
f(n)=f(n-1)+f(n-2)
f(0)=0;f(1)=1;