【剑指Offer】10- II. 青蛙跳台阶问题
作者:
唯师默蓝 | 来源:发表于
2021-01-29 23:17 被阅读0次https://leetcode-cn.com/problems/qing-wa-tiao-tai-jie-wen-ti-lcof/
int numWays(int n){
if(n==0){ // 如果台阶0个,返回空
return 1;
}
else if(n==1){ // 如果台阶1个,返回1
return 1;
}
else if(n==2){
return 2; // 两个台阶,2种跳法
}
int a[n+1]; // 定义一个数组,n+1的长度(计算机中数组从0开始)
a[0]=1,a[1]=1,a[2]=2; //斐波那契数列,第一个1,第二个1,第三个2,先赋值
int i; //定义临时变量
for(i=3;i<=n;i++){ //从第三个开始,每个数等于前两个数之和(根据举例与推理得出)
a[i]=(a[i-1]+a[i-2])%1000000007; //每个数等于前两个数相加
}
return a[n];//最终返回数组
}
本文标题:【剑指Offer】10- II. 青蛙跳台阶问题
本文链接:https://www.haomeiwen.com/subject/urthtltx.html
网友评论