首页 > 其他 > 详细

剑指 Offer 10- II. 青蛙跳台阶问题

时间:2021-04-28 14:54:09      阅读:24      评论:0      收藏:0      [点我收藏+]

思路

分析一下,如果青蛙位于台阶n上,因为青蛙只能跳一阶或2阶,所以只能从n - 1阶或n - 2阶跳过来,所以我们可以得到一个递推公式f(n) = f(n - 1) + f(n - 2)

所以就是和斐波那契的做法是一样的。
参考:斐波那契

class Solution {
    final int mod = 1000000007;
    int[] match = new int[110];
    {
        match[0] = 1; match[1] = 1; match[2] = 2;
    }
    public int numWays(int n) {
        if(n == 0) return 1;
        if(match[n] != 0) return match[n];
        return match[n] = (numWays(n - 1) + numWays(n - 2)) % mod;
    }
}

剑指 Offer 10- II. 青蛙跳台阶问题

原文:https://www.cnblogs.com/Lngstart/p/14713599.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!