美文网首页
【剑指Offer】10- II. 青蛙跳台阶问题

【剑指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