时间限制:1秒 空间限制:32768K 热度指数:329043
题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)
思路
动态规划,从第3级台阶开始,每一级台阶的走法相当于从前两阶台阶走两步或者从前一阶台阶走一步,所以走法为前两阶和前一阶走法之和
class Solution {
public:
int jumpFloor(int n) {
int a[n+1];
a[0]=0;
a[1]=1;
a[2]=2;
for(int i=3;i<=n;i++)
{
a[i]=a[i-2]+a[i-1];
}
return a[n];
}
};