JZ69跳台阶

img

😀前言
青蛙跳台阶是一个经典的问题,它描述了一只青蛙每次可以跳上1级台阶或者2级台阶,问跳上一个n级的台阶有多少种跳法。这个问题看似简单,实则蕴含了一定的数学思维和递推关系。在本文中,我们将通过分析问题的特性和使用动态规划的方法来解决这个问题,并探讨其时间复杂度和空间复杂度的优化。

🏠个人主页:尘觉主页

文章目录

  • 跳台阶
    • 题目链接
    • 题目描述
    • 解题思路
    • 😄总结

跳台阶

题目链接

牛客网

描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
数据范围:1 ≤ n ≤ 40
要求:时间复杂度:O(n),空间复杂度:0(1)

题目描述

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

在这里插入图片描述

在这里插入图片描述

解题思路

当 n = 1 时,只有一种跳法:

在这里插入图片描述

当 n = 2 时,有两种跳法:

在这里插入图片描述

跳 n 阶台阶,可以先跳 1 阶台阶,再跳 n-1 阶台阶;或者先跳 2 阶台阶,再跳 n-2 阶台阶。而 n-1 和 n-2 阶台阶的跳法可以看成子问题,该问题的递推公式为:


public int JumpFloor(int n) {if (n <= 2)return n;int pre2 = 1, pre1 = 2;int result = 0;for (int i = 2; i < n; i++) {result = pre2 + pre1;pre2 = pre1;pre1 = result;}return result;
}

😄总结

通过本文的介绍,我们了解了青蛙跳台阶的问题描述和解题思路。我们发现,该问题可以通过动态规划的方法来解决,通过定义递推公式并进行状态转移,我们可以在O(n)的时间复杂度内解决该问题。同时,我们也分析了问题的时间复杂度和空间复杂度,并提出了一种空间复杂度为O(1)的优化方案。青蛙跳台阶问题虽然简单,但其中蕴含的数学思想和动态规划的思想却具有一定的深度,希望本文对读者有所启发和帮助。

😁热门专栏推荐
想学习vue的可以看看这个

java基础合集

数据库合集

redis合集

nginx合集

linux合集

手写机制

微服务组件

spring_尘觉

springMVC

mybits

等等等还有许多优秀的合集在主页等着大家的光顾感谢大家的支持

🤔欢迎大家加入我的社区 尘觉社区

文章到这里就结束了,如果有什么疑问的地方请指出,诸佬们一起来评论区一起讨论😁
希望能和诸佬们一起努力,今后我们一起观看感谢您的阅读🍻
如果帮助到您不妨3连支持一下,创造不易您们的支持是我的动力🤞

img

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

合并两个有序数组(详解)

合并两个有序数组&#xff08;详解&#xff09; 合并两个有序数组 题目&#xff1a; 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2&#xff0c;另有两个整数 m 和 n &#xff0c;分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中&#xff0c;…

空闲缓冲区(empty) 和 非空缓冲区(full) 的的概念和区别【操作系统 生产者——消费者进程】

首先&#xff0c;我们得有个环境——通常是个缓冲池&#xff0c;这个池子里可以塞很多缓冲区&#xff0c;它们是用来存放数据的。生产者就是那个不停造东西的家伙&#xff0c;而消费者则是等着用这些东西的人。 1. 空闲缓冲区&#xff08;empty&#xff09;&#xff1a; 这玩意…

顺序表经典算法

顺序表经典算法 1.移除元素 题目&#xff1a; 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的…

Linux编辑器调试器 gcc/g++ gdb 编译过程及使用讲解

这恋爱呀 我有两不谈 第一异性不谈 因为我们性别不一样 我知道的她不知道相处起来太累 第二同性不谈 因为我们性别一样 我知道的他也知道相处起来太无聊了 –❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀-正文开始-❀–❀–❀–❀–❀–❀–…

雅思(IELTS)优秀小作文分享

IELTS优秀小作文分享 柱状图 本篇范文个人评分是8分或者8.5分&#xff0c;属于能找到的最优质的范文了 题目如下: The two sets of bar charts illustrate the amount of time that teenagers (boys, girls, and all) in the UK spend chatting online and playing game c…

DHCPv4_CLIENT_ALLOCATING_01: 在其本地物理子网上广播DHCPDISCOVER消息

测试目的&#xff1a; 确保客户端能够在其本地物理子网上广播DHCPDISCOVER消息。 描述&#xff1a; 该测试用例旨在验证DHCP客户端是否能够正确地在其本地物理子网上广播DHCPDISCOVER消息&#xff0c;以便进行IP地址的自动分配。 测试拓扑&#xff1a; 测试步骤&#xff1a…

汇报进度26届cpp,目前来说之后的规划,暑假打算回家10天就留校沉淀了

汇报一下进度吧&#xff0c;26双非菜鸡&#xff0c;cpper. 但目前学了一些go &#xff0c;辅修吧&#xff0c;距离发的上个动态已经过去3个月了&#xff0c;真的觉得找实习时间来不及&#xff0c;现在leetcode 100多道题&#xff0c;前几天蓝桥杯整了个省二&#xff0c;把OS和…

利用大语言模型(KIMI)构建智能产品的控制信息模型

数字化的核心是数字化建模&#xff0c;为一个事物构建数字模型是一项十分复杂的工作。不同的应用场景&#xff0c;对事物的关注重点的不同的。例如&#xff0c;对于一个智能传感器而言&#xff0c;从商业的角度看&#xff0c;产品的信息模型中应该包括产品的类型&#xff0c;名…

Linux蛋疼笔记之无法安装软件

Ubuntu在安装软件时&#xff0c;一直安装失败&#xff0c;提示&#xff1a; dpkg: error processing package gconf2-common (--configre):installed gconf2-common package post-installation script susprocess returned error exit status 10 Error wre encountered while …

数字滤波器设计笔记1

系统结构 1.先利用matlab的simulink和FDA进行滤波器建模设计&#xff0c;通过仿真后&#xff0c;确定模型达到相应的性能要求&#xff0c;再利用verilog进行电路设计。最后使用modelsim进行功能验证。其中testbench的输入数据&#xff0c;利用matlab模型的输入数据。 2.Matlab…

基于openwrt和libssh2实现ssh的远程登录

libssh2的支持 openwrt本身带有libssh和libssh2两种三方库。我们需要修改编译使其参与编译./scripts/feeds update -a ./scripts/feeds install -a执行make menuconfig操作&#xff0c;勾选你想要的三方库 ssh服务器的连接 这里需要注意的主要就是makefile里面记得添加ssh2…

刷代码随想录有感(52):用数组最大值及其两侧构造最大二叉树

题干&#xff1a; 代码&#xff1a; class Solution { public:TreeNode* constructMaximumBinaryTree(vector<int>& nums) {if(nums.size() 1)return new TreeNode(nums[0]);int maxvalue INT_MIN;int maxindex;for(int i 0; i < nums.size(); i){if(nums[i] …

[C++][数据结构]红黑树的介绍和模拟实现

前言 之前我们简单学习了一下搜索树和平衡搜索树&#xff0c;今天我们来学习一下红黑树 简介 概念 红黑树&#xff0c;是一种二叉搜索树&#xff0c;但在每个结点上增加一个存储位表示结点的颜色&#xff0c;可以是Red或Black。 通过对任何一条从根到叶子的路径上各个结点着…

地图产业的困局与破局:高精地图“上车”难 轻量化渐成主流方案 | 最新快讯

《科创板日报》5月3日讯&#xff08;编辑 邱思雨&#xff09; 近期&#xff0c;特斯拉与百度的“绯闻”成为智驾、地图行业的焦点。 有媒体消息称&#xff0c;特斯拉将与百度地图独家深度定制车道级高辅地图。《科创板日报》记者也获悉&#xff0c;自5月1日起&#xff0c;百度…

pygame鼠标绘制

pygame鼠标绘制 Pygame鼠标绘制效果代码 Pygame Pygame是一个开源的Python库&#xff0c;专为电子游戏开发而设计。它建立在SDL&#xff08;Simple DirectMedia Layer&#xff09;的基础上&#xff0c;允许开发者使用Python这种高级语言来实时开发电子游戏&#xff0c;而无需被…

ESXi8 中FreeBSD启动失败记录

一天突然发现ESXi8 中的FreeBSD启动失败&#xff0c;且自动挂载了FreeBSD的安装光盘&#xff0c;进入安装步骤。 惊了一身冷汗。 到虚拟主机设置里&#xff0c;发现引导选项里面&#xff0c;选择应当用来引导虚拟机的固件为EFI&#xff0c;原来是前段时间手残修改了&#xff0…

图片倾斜矫正处理(Hough Transform)

目录 倾斜矫正原理及实现方式Canny边缘检测非极大值抑制霍夫变换 倾斜矫正原理及实现方式 代码连接&#xff1a;https://github.com/shuyeah2356/Image-Angel-correction/tree/main 倾斜矫正的实现原理&#xff1a; 使用霍夫变换检测图片中的直线&#xff1b; 计算直线与水平方…

TCP四次挥手分析

TCP四次挥手分析 概念过程分析为什么连接的时候是三次握手&#xff0c;关闭的时候却是四次握手&#xff1f;为什么要等待2MSL&#xff1f; 概念 四次挥手即终止TCP连接&#xff0c;就是指断开一个TCP连接时&#xff0c;需要客户端和服务端总共发送4个包以确认连接的断开。 在…

机器视觉系统-条形光源安装位置计算

使用条形光对反光材质物体打光时&#xff0c;常常出现强烈的光斑反射&#xff0c;影响图像处理。如果不想图像中出现光源的光斑&#xff0c;可以通过计 算得出条形光源的安装范围。 检则PCB板上的二维码字符&#xff0c;使用两个条形光打光的效果图 以及等效模型&#xff1a; …

机器学习:深入解析SVM的核心概念【二、对偶问题】

对偶问题 **问题一&#xff1a;什么叫做凸二次优化问题&#xff1f;而且为什么符合凸二次优化问题&#xff1f;**为什么约束条件也是凸的半空间&#xff08;Half-Space&#xff09;凸集&#xff08;Convex Set&#xff09;半空间是凸集的例子SVM 约束定义的半空间总结 **问题二…