简单的小青蛙跳一跳问题

动态规划入门算法:小青蛙跳台阶问题(JavaSE) 本人没有一定、扎实的计算机编程基础,也是自学Java,特创此篇博客也希望能激励和我一样程度自学编程的人能一直坚持下去! 1)题目: 一共有n接台阶,如果一只小青蛙每次只能跳一阶台阶,或者两阶台阶,那么一共有多少种方案可以让小青蛙跳到顶端? 例如:当n等于2时,一共有两种方案: 1,让小青蛙一次性跳两阶台阶 2,让小青蛙每次只跳一阶,一共跳两次跳到顶端. 2)解题分析: 解决此题时所需要的一种核心思想就是动态规划。何为动态规划? 动态规划其实就是利用上一次得到的结果,给下一次作参考,下一... 阅读详情

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

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

示例 1:

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

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

输入:n = 0
输出:1

算法思路:  一开始人是蒙的,这种题目如果使用穷举法的话,结果实在太多了,而且题目一开始就说明了有取余的情况发生,所以需要进行推导推导出来规律,枚举前几种情况,当小青蛙进行跳一跳的时候,在跳最后的一个或俩个台阶时只会跳一个或者跳两个,所以可以考虑递归的方法,类似于斐波那契数列的做法即可。

#include<iostream>
using namespace std;

const long long mod = 1e9 + 7;
int jump(int number)
{
	if (number < 3)
		return number;
	else
	{
		return (jump(number - 1) + jump(number - 2))%(mod);
	}
}

int main()
{
	int	num = 0;
	cout << "请输入小青蛙跳跃的次数:";
	cin >> num;
	cout << "小青蛙跳跃的次数为:" << jump(num) << endl;
	return 0;
}

动态规划:青蛙跳台阶、变态跳台阶 青蛙跳台阶问题是一个简单的动态规划问题。问题1:普通跳台阶一只青蛙可以一次跳 1 级台阶或者一次跳 2 级台阶,例如: 跳上第 1 级台阶只有一种跳法:直接跳 1 级即可。 跳上第 2 级台阶有两种跳法:每次跳 1 级,跳两次;或者一次跳 2 级。 问要跳上第 nn 级台阶有多少种跳法?很多人喜欢正向思考,使用暴力求解,但往往这是一个很复杂的问题。我们可以反过来思考:如果我们要跳上第 nn 级台阶, 阅读详情

相关推荐

牛客网——跳台阶和变态跳台阶问题

1、跳台阶 题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种方法? 解答:这种问题一般是有规律的,跳1级台阶,只有1种方法;跳2级台阶,有2种方法;跳2级台阶,有3种方法;跳4级台阶,有5种方法,依次下去,跳一个n级的台阶的方法数是跳n-1级台阶的方法数与跳n-2阶台阶的方法数的总和。这种思路可以用逆推去想,要跳上一个n级台阶,可以从n-1

NOT_GUY的博客 1万+

青蛙跳问题

青蛙跳 一:青蛙一次只能跳一级 或者跳两级  n级台阶有多少种方法 动态规划/斐波那契数列  f(n)=f(n-1)+f(n-2)  注意初始化数组的时候不要越界 二:青蛙一次可以跳1级,2级,…………,n级     n级台阶有多少种方法 运行时间:39ms 占用内存:654k 刚开始想成了这样: 从0到n 有一种 从0-1有f(1)种  从1-n有f(n-1)种 从0-2

simple008的博客 1564

基于OSPF技术的某企业网络设计(完整文档+ENSP拓扑图)

主要对网络规划与设计,以企业网络为背景,对某个中型企业网络进行规划设计,该企业总部在南京,在常州有一个分公司,需要实现总部和分公司能够访问外网,能够让分公司内的用户或主机访问总部服务器的资源,并且保证数据的安全性。在这次总部企业网络设计中,考虑到资金的问题,核心层部署2台核心三层交换机,负责转发总部内部用户的流量,并充当内部用户网关,能够实现内部不同网段的用户之间的连通性。对于一些对网络比较敏感的企业或用户,对网络的要求较高,对于网络的稳定性和安全性也有较高的要求。

qq1325513482的博客 2万+

每日算法——最全青蛙跳台阶算法问题

Java每日算法之——青蛙跳台阶

weixin_48622530的博客 5096

1553B通信项目开发笔记(一)协议概述

最近接了个项目,需要用1553B协议通信,仅作为RT端口进行通信,控制器采用ARM 使用芯片为国产的BU61580芯片,功能和引脚和DDC的61580完全一致。

u010396127的博客 2万+

第六章 汇川技术InoProShop入门之modbusTCP从站协议解读

摘要:ModbusTCP从站协议是Modbus协议在TCP/IP网络上的扩展,作为服务器端被动响应主站请求。它采用MBAP+PDU帧结构,通过IP地址和502端口实现网络通信,支持标准功能码(如读/写寄存器、线圈)。相比传统串行Modbus,具有高速传输、远距离通信优势。从站需解析请求、执行操作并返回响应,同时处理错误校验和并发连接。该协议广泛应用于智能传感器、PLC等工业设备,实现高效可靠的主从数据交互。

zyfucking2010的博客 1435

常见算法题总结(青蛙跳台阶问题)

题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶,求该青蛙跳上一个n级的台阶总共有多少种跳法。 方法1:和斐波那契数列一样。递归,存在相同问题,有重复的计算,效率不高。 public int numWays(int n) { if (n == 0 || n == 1) { return 1; } int[] dp = new int[n + 1]; dp[1] = 1; dp[2] = 2;

weixin_44196561的博客 674

WorldQuant Brain Alpha 生成器

一个自动化工具,通过参数优化和回测来挖掘高质量的量化交易 Alpha 因子,并自动提交符合标准的因子。

weixin_37582383的博客 1万+

Java小青蛙跳台街,算法-青蛙跳台阶详解

/*[跳台阶][题目]一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。[解析]与斐波那契数列的求解过程类似。典型的动态规划问题。对于第n级台阶,我们可以从第n-1级台阶一步到达,也可以从第n-2级台阶一步达到,则有递归式:f[n]=f[n-1]+f[n-2],初始状态f[1]=1,f[2]=2。*/#include#inc...

weixin_39640024的博客 262

lumerical中DEVICE和MODE模块的交互使用(真的很干货!!可以自信的说网上绝对找不到比我更详细的步骤了)

几个脚本文件很重要! Lumerical仿真流程: 一、DEVICE: (1).建模并且运行完之后,在脚本提示符下键入以下脚本行以运行plotDopingProfile.lsf如图1(文件名如果索引不到的话就可以把文件直接用notepad++打开,然后把代码直接输入到device中script脚本中 如图2)脚本文件并生成下图 如图3: (图2) (图1) (图3) (2).仿真...

1万+

硬件学习笔记(器件篇)—— 磁珠与磁环

因为有这些差别,所有经常会让人们觉得他们并不是一类器件,但实际上他们的原理是一样的。我们使用磁珠是为了利用损耗消耗高频能量,所以如果我们理解了磁珠是如何消耗高频能量的,我们就能理解磁珠的工作原理。

y_u_yu_yu_的博客 1万+

青蛙跳台阶(递归)

青蛙跳台阶

qq_68006585的博客 640

TriCore架构-基于TC397的启动流程

TC397芯片的启动流程分为三个关键阶段:固件启动(BootFirmware)、Bootloader引导和应用程序启动。BootFirmware作为硬件信任根,包含SSW基础初始化、CHSW自检和BSL应急刷写通道。Bootloader承担安全验证和程序引导功能,支持双分区(AB-SWAP)和双引导方案(PBL/SBL)。安全启动通过校验机制确保软件完整性,提供三种可选技术方案。应用程序启动阶段实现软件双分区管理,支持SOTA更新。整个流程体现了汽车电子系统的安全设计理念,通过硬件级保护与软件验证相结合确保

xiandang8023的博客 987

青蛙跳台阶问题

一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 package project; import java.util.Scanner; public class qingwatiao { public static void main(String[] args) { //一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级

weixin_44995829的博客 133

输入文件(Example-1.inp)参数解读与获取方法

弹性参数:优先使用默认值(泊松比 0.25、杨氏模量 8×10⁵ bars),或参考区域地质 / 地球物理研究。断层参数:从地震矩反演、GPS 位移反演、地质图 / 震源机制获取(核心参数,需确保准确性)。网格 / 图形参数:根据研究区范围和输出需求调整(步长 / 放大系数等)。

2301_79258000的博客 81

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

跳台阶

题目解题f(n)f(n)表示nn级台阶的跳法 对nn级台阶,最后一次跳跃,可以跳一个台阶这时只与前面的n−1n-1个台阶的跳法有关,可以跳两个台阶,这时只与前面n−2n-2个台阶的跳法有关。 所以: f(n)=f(n−1)+f(n−2)f(n) = f(n-1) + f(n-2) f(0)=0f(0)=0 f(1)=1f(1)=1 f(2)=2f(2)=2 设置:f(0)=1f(0)=

水滴石穿 396

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

20210710青蛙跳台阶

一个青蛙上台阶,一次可以上一个或两个,上n阶台阶方式有多少种? 通过找规律发现结果符合斐波那契数列! class Solution { public int numWays(int n) { //0 1 //1 1 //2 2 //3 3 //4 5 //5 8 //6 13 //7 21 //8 34 int twoOfnum =

sunnygao的博客 206

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

详解 C语言 青蛙跳台阶问题

详解青蛙跳台阶问题,提供两种思考角度,帮助全面理解。

microcircuit的博客 5147

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

一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。解析思路:来自牛客网递归解:说明: 1)这里的f(n) 代表的是n个台阶有一次1,2,...n阶的 跳法数。2)n = 1时,只有1种跳法,f(1) = 13) n = 2时,会有两个跳得方式,一次1阶或者2阶,这回归到了问题(1) ,f(2) = f(2-1) + f(2-2) 4) n...

quyuanyuan的博客 1万+

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

/** * 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。 * 求该青蛙跳上一个n级的台阶总共有多少种跳法。 */ /* 到达1阶台阶只有1种可能,到达2阶台阶有两种可能f(1)=1,f(2)=2 要到达3阶台阶,可以在1阶起跳,也可以在2阶起跳,所以只需要到达1阶台阶的可能情况+到达2阶的可能情况+f(0),f(3)=f(2)+f(1)+1 同...

王文强的博客 2520

青蛙跳的概率问题

题目 一只青蛙跳一次的距离为单位长度,青蛙每次跳动的方向都是完全随机的。设青蛙连续跳三次后的最终的位置距离它第一次跳动前的位置距离为d,问距离d小于1的概率是多少? 分析 这是道有趣且经典的概率问题,虽然不难,但如果要得到严格的数学解答还是需要费一番功夫的。这道题看上去属于古典概型,但是稍稍分析发现这既不能通过枚举法解答也不能构建几何概型。但是我们可以用概率论的思维快速估算出近似答案,当...

Codingding的博客 2301

【python逻辑算法题】一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法

文章目录一、题目描述二、问题分析三、代码分析与逻辑(python3实现)四、源码及运行结果总结 提示:以下是本篇文章正文内容: 一、题目描述 题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。(若n=0,则有1种) 二、问题分析 1、首先,设一共有f(n)种跳法 2、其次: ①当n=0时,默认有一种跳法,f(0)= 1 ②当n=1时,青蛙可以用跳1级台阶的方式跳,一共有1种跳法,f(1) = 1 ③当n=2时,青蛙可以用1级跳,或2级跳,一共有2种跳法,f(2

weixin_43697439的博客 1万+

LeetCode–青蛙跳台阶问题

LeetCode–青蛙跳台阶问题 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 介绍 剑指 Offer 10- II. 青蛙跳台阶问题 主站70题 题目 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 示例 1: 输入:n = 2 输出:2示例 2: 输入:n = 7 输出

归子莫的博客 1166

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

一只青蛙一次可以跳上1级台阶也可以跳上2级求该青蛙跳上一个n级的台阶总共有多少种跳法? 解题思路 :每次跳1到n,那么如果是n阶台阶,一次就可能跳1~n阶(话说n=1000,青蛙腿肯定绑火箭了),乍一看很复杂,可以将前面几种情况列出来,就可以发现规律。 台阶数--------------------------------------次数 【1】 -------------------------...

Advsance的博客 2775

青蛙变态跳台阶问题

题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 分析:因为n级台阶,第一步有n种跳法:跳1级、跳2级、到跳n级 跳1级,剩下n-1级,则剩下跳法是f(n-1) 跳2级,剩下n-2级,则剩下跳法是f(n-2) 所以f(n) = f(n-1) + f(n-2) + ... + f(1) 因为f(n-1) = f(n-2)...

forever-and-ever的博客 3416

356,青蛙跳台阶相关问题

想了解更多数据结构以及算法题,可以关注微信公众号“数据结构和算法”,每天一题为你精彩解答。 问题一: 一只青蛙一次可以跳上一级台阶,也可以跳上二级台阶,求该青蛙跳上一个n级的台阶总共需要多少种跳法。 我们来分析一下: 当n等于1的时候,只需要跳一次即可,只有一种跳法,记f(1)=1 当n等于2的时候,可以先跳一级再跳一级,或者直接跳二级,共有2种跳法,记f(2)=2 当n等于3的时候,他可以从一级...

数据结构和算法 512
上一篇: 冒泡排序的重温
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值