首页 > 其他分享 >剑指 Offer 10- II. 青蛙跳台阶问题

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

时间:2022-08-24 21:59:27浏览次数:99  
标签:10 台阶 示例 int Offer II dp

一、题目:

  一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。

答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。

示例 1:

输入:n = 2
输出:2
示例 2:

输入:n = 7
输出:21
示例 3:

输入:n = 0
输出:1
提示:

0 <= n <= 100

 

二、分析与代码

  通过分析,找递推公式:dp[i]表示上到第i层楼梯有多少种解法,dp[0] = 1; dp[1] = 1; dp[2] = 2; dp[3] = 3; dp[4] = 5; 

可以得到递推公式为dp[i] = dp[i-1] + dp[i-2],题型和“斐波那契数”相同,参考博客:剑指 Offer 10- I. 斐波那契数列 - 湘summer - 博客园 (cnblogs.com)

 

1.动态规划:

 

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

 

2.滚动数组:

class Solution {
    public int numWays(int n) {
        if(n==0||n==1)
            return 1;
        int p=1,q=1,t=0;
        for(int i=2;i<=n;i++){
            t=(p+q)%1000000007;
            p=q;
            q=t;
        }
        return t;
    }
}

 

标签:10,台阶,示例,int,Offer,II,dp
From: https://www.cnblogs.com/lxpblogs/p/16622385.html

相关文章

  • windows10-msys2-msvc编译ffmpeg4.4.2
    下载msys2在msys2安装目录下创建文件msys2_ffmpeg.batcall"D:\ProgramFiles\MicrosoftVisualStudio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"setMSY......
  • Windows10 pybind11 opencv 和numpy相互转换 (tcy)
      利用pybind11实现python和C++图像之间的相互调用。将Mat类引入python中。 图像相互转换通过左值引用及智能指针实现。封装了类操作及8个函数(Mat和numpy......
  • ARC103E题解
    思路很奇怪(?)考虑是否合法的条件。注意到这个显然要求对称(即存在\(i\)必须存在\(n-i\)),如果不满足一定无解。然后比较显然的是\(1\)不存在和存在\(n\)都无解。然后......
  • Spring 源码学习笔记10——Spring AOP
    Spring源码学习笔记10——SpringAOP参考书籍《Spring技术内幕》SpringAOP的实现章节书有点老,但是里面一些概念还是总结比较到位源码基于Spring-aop5.3.22可能和旧......
  • Codeforces Round #710 (Div. 3) D. Epic Transformation(优先队列)
    https://codeforces.com/contest/1506/problem/D鉴定完毕,这题卡映射数量到优先队列的那一步操作给你一个由整数组成的长度为n的数组a。您可以对阵列应用由几个步骤组成......
  • 多位时间戳转换(10、11、13位时间戳都适用)
    10、11、13位时间戳都适用<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><met......
  • win10、win11环境下查看IIS里各项目资源占用情况
    参照链接:【如何设置IIS程序池的回收时间,才能最大程度的减少对用户的影响?】-走看看(zoukankan.com)概念:简单理解IIS应用程序池应用程序池可以看成是计算机分配给Web......
  • LeetCode 142. 环形链表 II
    思路:快慢指针法:当快指针与慢指针相遇时,分别从起点,相遇点开始走,相遇即为环入口/***Definitionforsingly-linkedlist.*structListNode{*intval;*......
  • 【转载】Python(cx_oracle)的DPI-1047错误
    转自:https://blog.csdn.net/weixin_45158749/article/details/124800132 Python(cx_oracle)的DPI-1047错误步步FAN已于2022-05-1615:19:11修改981收藏文章标签:......
  • Flink1.10定义UDAGG遇到SQL validation failed. null 问题
    按照以下代码测试定义的UDAGG会一直出现org.apache.flink.table.api.ValidationException:SQLvalidationfailed.null问题importorg.apache.flink.configuration.Jo......