LeetCode算法动态规划—剑指 Offer 10- II. 青蛙跳台阶问题

news/2024/5/18 21:44:53/文章来源:https://blog.csdn.net/qq_62799214/article/details/132918017

目录

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

题解:

代码:

运行结果:​编辑


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

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

示例 1:

输入:n = 2
输出:2

示例 2:

输入:n = 7
输出:21

示例 3:

输入:n = 0
输出:1

提示:

  • 0 <= n <= 100

题解:

多少种可能性 的题目一般都有递推性,即 f(n) 和 f(n−1)…f(1)之间是有联系的。

首先,我们假设跳上 n 级台阶有 f(n) 种跳法。对于青蛙的最后一步,只有两种情况:跳上 1 级或 2 级台阶。

  • 如果最后一步跳上 1 级台阶,剩下 n-1 级台阶,共有 f(n-1) 种跳法。
  • 如果最后一步跳上 2 级台阶,剩下 n-2 级台阶,共有 f(n-2) 种跳法。

因此,f(n) = f(n-1) + f(n-2),即跳上 n 级台阶的跳法数等于跳上 n-1 级台阶的跳法数加上跳上 n-2 级台阶的跳法数,这正是斐波那契数列的递推性质

起始条件:

  • 青蛙跳台阶问题: f(0)=1, f(1)=1, f(2)=2;
  • 斐波那契数列问题: f(0)=0, f(1)=1, f(2)=1。

青蛙跳台阶问题中,f(0) = 1 表示当没有台阶时,青蛙已经在终点上,因此只有一种跳法。 而在斐波那契数列问题中,f(0) = 0 表示斐波那契数列的第一项为 0。

代码:

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

运行结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_550405.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MATLAB APP纯小白入门 两数相加

万事开头难&#xff0c;最怕第一次。使用matlab APP 实现两数求和&#xff0c;如下图所示&#xff0c;c a b&#xff0c;输入数字后&#xff0c;按 “” 就计算。 步骤 拖拽三个 Edit Field(Numeric) 过来&#xff0c;并且双击名字分别改为 a,b,c。注意修改名字后右边会有点变…

Python日志处理器,同时打印到控制台和保存到文件中,并保证格式一致

使用logging模块的时候&#xff0c;默认是输出到控制台的&#xff0c;当然也可以配置输出到文件中&#xff0c;但是当你配置了文件后&#xff0c;控制台的输出就消失了&#xff0c;所以&#xff0c;需要一个策略即能保存到文件中&#xff0c;又能输出到控制台中。 下面是我做的…

【计算机毕业设计】基于SpringBoot+Vue的流浪猫狗救助救援网站的设计与实现

博主主页&#xff1a;一季春秋博主简介&#xff1a;专注Java技术领域和毕业设计项目实战、Java、微信小程序、安卓等技术开发&#xff0c;远程调试部署、代码讲解、文档指导、ppt制作等技术指导。主要内容&#xff1a;毕业设计(Java项目、小程序等)、简历模板、学习资料、面试题…

求链表的倒数第k个节点

思路&#xff1a;利用快慢指针空间差 代码&#xff1a; struct ListNode* FindKthToTail(struct ListNode* pListHead, int k ) {// write code herestruct ListNode* slow pListHead;struct ListNode* fast pListHead;while(k--){if(fastNULL){return NULL;}fastfast->…

linux常用命令(4):mkdir命令(创建目录)

文章目录 一、命令简介二、命令格式三、常用示例 一、命令简介 mkdir&#xff08;make directories&#xff09;创建目录。 若指定目录不存在则创建目录。若指定目录已存在&#xff0c;则会提示已存在而不继续创建。 touch与mkdir的区别? 很多人可能会把这个搞混淆&#xff…

主动写入流对@ResponseBody注解的影响 | 京东云技术团队

问题回溯 2023年Q2某日运营反馈一个问题&#xff0c;商品系统商家中心某批量工具模板无法下载&#xff0c;导致功能无法使用&#xff08;因为模板是动态变化的&#xff09; 商家中心报错&#xff08;JSON串&#xff09;&#xff1a; {"code":-1,"msg":&…

如何成为一名“受欢迎”的数据科学家和机器学习工程师

《机器学习项目交付实战》将介绍如何从模型和数据中获取最佳性能&#xff0c;帮助你构建稳定的数据管道。通过高效的可复用技术集合&#xff0c;来确保应用程序工作流程的顺利执行&#xff0c;以及提高模型的可维护性。基于数十年的良好软件工程实践&#xff0c;机器学习工程可…

如何防盗版软件

有多少公司&#xff0c;至今都无法摆脱被盗版软件支配的恐惧&#xff1f; 其实大多数时候&#xff0c;企业都是被动当了大冤种&#xff0c;因为他们也并不会主动要求员工使用破解软件。实在是架不住有些不懂版权的、心存侥幸的员工私下里使用。只要公司联网&#xff0c;就一定…

【QT开发(5)】0919-QT里面新增ui类,新增使用opencv读取图片的普通类,在ui类中显示图片

参考资料 1、Qt Creator快速入门_第三版__霍亚飞编著 2、《QtOpenCV显示图片&#xff08;Mat转QImage然后显示在QLabel上&#xff09;》 输出材料 https://gitee.com/hiyanyx/qt5.14-cpp_-empty_-project/tree/508435b09ff1f794e650cba859b0db2323ec333a/ 新增文件布局 新…

API接口采集电商平台阿里巴巴中国站获得1688商品评论数据货品评分、评价内容接口调用指南

淘宝API商品评论接口&#xff0c;主要用于获取某个商品的评价信息。通过该接口&#xff0c;我们可以获取到商品的所有评价内容、评价时间、评价等级等相关信息&#xff0c;帮助我们更好地了解用户对商品的反馈&#xff0c;进而进行数据分析和业务优化。 1688.item_review-获得…

全国月子会所新标准宣贯会在京成功举办——首批5星级月子会所欧缇蔓上榜

全国月子会所行业标准宣贯会 2023年9月6日&#xff0c;全国月子会所新标准宣贯会在北京举行。大会特邀原卫生部副部长何界生、首医大北京妇产医院原院长陈宝英、中国关心下一代工作委员会秘书长李启民、中国优生优育协会副秘书长李伟、中国保护消费者基金会母婴工作委员会副主任…

GitHub平台 Bookget操作

以bookget为例&#xff0c;熟悉github平台。 https://github.com/deweizhu/bookget 选择该界面中的“Wiki”&#xff0c;右侧边栏中是文章的结构大纲。 下载bookget软件。 依照说明&#xff0c;安装bookget环境。

按摩软件仿东郊到家系统开发,上门预约系统;

按摩软件仿东郊到家系统开发&#xff0c;上门预约系统&#xff1b; 用户端、技师端、商家端&#xff0c;以及管理后台。上门预约的操作 1、技师管理。 技师满意度进行统一跟踪评估&#xff0c;进行分级管理&#xff0c;分级评估&#xff1b; 2、订单管理。 按订单状态分类筛选&…

由于找不到packet.dll,无法继续执行代码的多种解决方法分享

在计算机领域中&#xff0c;packet.dll是一个重要的动态链接库文件&#xff0c;它被用来进行网络数据包的捕获和分析。然而&#xff0c;有时我们可能会遇到packet.dll缺失的问题&#xff0c;这将导致我们无法正常执行代码。下面我们将为你详细介绍如何解决这个问题&#xff0c;…

轻松筛选与统计,掌握账户花销!精确记录明细,把握支出情况

尊敬的用户&#xff0c;您是否希望能够更好地了解自己的收支情况&#xff0c;掌握账户的花销情况&#xff1f;现在&#xff0c;我们为您提供一款便捷而精确的工具&#xff0c;让您轻松筛选并统计收支账户的总花销&#xff01; 首先&#xff0c;第一步&#xff0c;我们要进入晨…

工信部将制定虚拟宇宙标准

中国工业和信息化部(MIIT)周一表示&#xff0c;随着北京寻求成为新技术的全球标准制定者&#xff0c;中国将成立一个工作组来制定虚拟宇宙行业的标准。 周一&#xff0c;该部发布了一份提案草案&#xff0c;旨在组建一个虚拟宇宙工作组&#xff0c;该工作组可以通过互联网访问共…

JVM——6.字节码指令

这篇文章我们来学习一下字节码指令 目录 1.简介 2.字节码与数据类型 3.加载与存储指令 4.运算指令 5.类型转换指令 6.对象创建于访问指令 7.操作数栈管理指令 8.控制转移指令 9.方法调用与返回指令 10.异常处理指令 11.同步指令 12.小结 1.简介 Java虚拟机的指令…

CGAL安装到验证到深入

1、安装CGAL Win10下VS配置CGAL-5.3.1&#xff08;下载、安装、VS属性表配置&#xff09; 测试代码_cgal下载_孙 悟 空的博客-CSDN博客 2、CGAL验证练习 #include <iostream> #include <CGAL/Simple_cartesian.h> typedef CGAL::Simple_cartesian<double> …

Leetcode---363周赛

题目列表 2859. 计算 K 置位下标对应元素的和 2860. 让所有学生保持开心的分组方法数 2861. 最大合金数 2862. 完全子集的最大元素和 一、计算k置为下标对应元素的和 简单题&#xff0c;直接暴力模拟&#xff0c;代码如下 class Solution { public:int sumIndicesWithKS…

PMP项目管理课程介绍-2023

8个项目管理工具模板、60个项目管理甘特图标模板、赠送30本项目管理电子书 &#xff08;PMI-PMP&#xff09;国际项目经理认证 培训简章 “21世纪是项目管理的世纪” “战略规划项目管理企业竞争力” 课程背景 “PMP”&#xff0c;即Project Management Professional&#xff0…