首页 > 其他分享 >青蛙跳台阶

青蛙跳台阶

时间:2023-05-04 10:33:07浏览次数:33  
标签:return JumpFloor int class 青蛙 Solution 台阶 public

递推公式:

和斐波那契数列是一致的

1.暴力办法,时间复杂度O(2^n)

public class Solution {
    public int JumpFloor(int n) {
        if (n == 1) return 1; 
        if (n == 2) return 2;
        return JumpFloor(n - 1) + JumpFloor(n - 2);
    }
}

2.动态规划

class Solution {
    static final int MODULO = 1000000007;

    public int numWays(int n) {
        if (n <= 1) {
            return 1;
        }
        int[] dp = new int[n + 1];
        dp[0] = 1;
        dp[1] = 1;
        for (int i = 2; i <= n; i++) {
            dp[i] = (dp[i - 1] + dp[i - 2]) % MODULO;
        }
        return dp[n];
    }
}

标签:return,JumpFloor,int,class,青蛙,Solution,台阶,public
From: https://www.cnblogs.com/chenyi502/p/17370345.html

相关文章

  • 剑指 Offer 10- II. 青蛙跳台阶问题
    分析:因为好久没有练习思维还没有转变,所以这道题思考有点慢首先还是建立状态,到达第i级台阶时,有f[i]种跳法最后答案f[n-1]再状态转移,f[i]=f[i-1]+f[i-2] 赋初值,因为可以选择跳一阶或者两阶,所以初始赋值f[0]和f[1],f[0]=1,f[1]=2然后编写代码,但是最后有个问题,不知道1e9+7不是......
  • 剑指Offer——10-II.青蛙跳台阶问题(c语言)
    title:剑指Offer10-II.青蛙跳台阶问题(c语言)一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个n级的台阶总共有多少种跳法。答案需要取模1e9+7(1000000007),如计算初始结果为:1000000008,请返回1。示例1:输入:n=2输出:2示例2:输入:n=7输出:21示例3:输入:n......
  • 蓝桥-13届-青蛙过河
    看完没什么思路就类似于看完一个自然语言描述的问题后,没法把它转换编程模型题目的意思是y至少要多大,才能足够青蛙跳2x次因为跳跃过程是可逆的,于是能否往返跳2x次等价于同向跳2x次由于当y=n时,青蛙不需要踩任何石头直接跳过去,于是y一定是小于等于n的一个数照这个数我们可以使用......
  • 温水煮青蛙
    第一次对这个词有印象还是在《后会无期》的电影中,当时没太看明白为什么扯到青蛙上面了,工作几年,特别是今年,有了更加切身的体会。写下此文,记录当下,警醒自己。22年9月,结束两年的出差,裸辞去山东乳山度假了一个多月后,走上了不顺利的找工作之旅,两个上海到手的offer因为其他原因没成,深圳......
  • [算法]n阶台阶,一次走一步或两步,有多少种走法?
    递归实现.重要的是理解这个逻辑假设有f(n)种走法,当走到N-1阶台阶时,有f(n-1)种走法,再走一步走完。当走到n-2阶台阶时,有f(n-2)种走法,再走1+1或2,走完。其中走1+1和走到......
  • 蓝桥杯 & 青蛙过河(最快贪心) (不用并查集)
      点击查看代码#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;constintN=1000000+7;lla[N];llb[N];llc[N];lln,x;boolcheck(ll......
  • 403. 青蛙过河 (Hard)
    问题描述403.青蛙过河(Hard)一只青蛙想要过河。假定河流被等分为若干个单元格,并且在每一个单元格内都有可能放有一块石子(也有可能没有)。青蛙可以跳上石子,但是不可以......
  • 台阶-Nim游戏
    台阶-Nim游戏现在,有一个$n$级台阶的楼梯,每级台阶上都有若干个石子,其中第$i$级台阶上有$a_i$个石子$(i\geq1)$。两位玩家轮流操作,每次操作可以从任意一级台阶上拿......
  • 【算法】青蛙从河边跳到对岸,河中需要依次落满树叶
    Codility中有这样一个算法题,是说一只青蛙从河边(position=0)跳到河的对面去(position:x+1),河边有棵树,会在不同的时间点(以秒计算)落下树叶在河面上,我们需要保证河......
  • 递推 上台阶
    上台阶时间限制:1000ms      内存限制:65536KB提交数:2025   通过数:347 【题目描述】楼梯有n(71>n>0)阶台阶,上楼时可以一步上1阶,也可以一步上2阶......