代码随想录算法训练营第三十二天|122.买卖股票的最佳时机II、55. 跳跃游戏、45.跳跃游戏II

122.买卖股票的最佳时机II

  • 刷题icon-default.png?t=N7T8https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-ii/description/
  • 文章讲解icon-default.png?t=N7T8https://programmercarl.com/0122.%E4%B9%B0%E5%8D%96%E8%82%A1%E7%A5%A8%E7%9A%84%E6%9C%80%E4%BD%B3%E6%97%B6%E6%9C%BAII.html
  • 视频讲解icon-default.png?t=N7T8https://www.bilibili.com/video/BV1ev4y1C7na/?vd_source=af4853e80f89e28094a5fe1e220d9062
  • 题解:
class Solution {//收益、贪心思想public int maxProfit(int[] prices) {//记录最大收益int result = 0;//因为收益只能从第二天卖出与第一天买入中做减法得到,所以从第二天开始遍历for(int i = 1; i < prices.length; i++){//遵循正收益思想,用第二天卖出减去第一天买入得到两天的净收益//运用贪心收益思维,当遇见负收益时就跳过,用0累加//即若当天卖出只能得到负收益,则不卖出result += Math.max(prices[i] - prices[i - 1], 0);}return result;}
}

55. 跳跃游戏

  • 刷题icon-default.png?t=N7T8https://leetcode.cn/problems/jump-game/description/
  • 文章讲解icon-default.png?t=N7T8https://programmercarl.com/0055.%E8%B7%B3%E8%B7%83%E6%B8%B8%E6%88%8F.html
  • 视频讲解icon-default.png?t=N7T8https://www.bilibili.com/video/BV1VG4y1X7kB/?vd_source=af4853e80f89e28094a5fe1e220d9062
  • 题解:
class Solution {//以覆盖范围为基础进行算法推进//当不断更新的覆盖范围达到了结尾,则说明可以完成这个跳跃游戏public boolean canJump(int[] nums) {//当数组元素只有一个时,本身肯定能跳到本身,所以返回trueif(nums.length == 1){return true;}//初始覆盖范围为0int coverRange = 0;//在覆盖范围内更新并记录最大的覆盖范围for(int i = 0; i <= coverRange; i++){coverRange = Math.max(coverRange, i + nums[i]);if(coverRange >= nums.length - 1){return true;}}//若在循环内未走到覆盖到结尾的逻辑,则说明无法跳到结尾,返回falsereturn false;}
}

45.跳跃游戏II

  • 刷题icon-default.png?t=N7T8https://leetcode.cn/problems/jump-game-ii/description/
  • 文章讲解icon-default.png?t=N7T8https://programmercarl.com/0045.%E8%B7%B3%E8%B7%83%E6%B8%B8%E6%88%8FII.html
  • 视频讲解icon-default.png?t=N7T8https://www.bilibili.com/video/BV1Y24y1r7XZ/?vd_source=af4853e80f89e28094a5fe1e220d9062
  • 题解:
class Solution {public int jump(int[] nums) {//当只有一个元素,可直接返回0,即不需要任何步数就可以完成游戏if(nums.length == 1){return 0;}//记录当前覆盖的最远距离下标,和下一步覆盖的最远距离元素的下标,初始化为0//让二者以双指针形式进行推进//debug点:要深刻理解下一步覆盖距离的意义及作用int curDistance = 0;int nextDistance = 0;//记录移动的最小跳跃次数,初始化为0int result = 0;//遍历下标for(int i = 0; i < nums.length - 1; i++){//nextDistance为上一级覆盖范围内的元素,其最大的覆盖范围,//作为下一级元素,更新下一级覆盖的最远距离的下标nextDistance = Math.max(nums[i] + i, nextDistance);//当i走到了当前覆盖的最远距离元素的下标的位置//则需要向后推进一位,继承之前的最大范围,启动下一步覆盖范围,//即:遍历完上一个覆盖范围后,更新当前最大覆盖范围,并增加步数if(i == curDistance){curDistance = nextDistance;result++;}}return result;}
}

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

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

相关文章

Java的编程之旅32——继承与多态的联合使用

模拟USB设备接入电脑 1.首先建立一个名为“USB”的抽象类 public abstract class USB {public abstract void On();public abstract void Off(); }这是一个抽象类USB&#xff0c;表示一个USB设备。 该类有两个抽象方法On()和Off()&#xff0c;分别表示打开和关闭USB设备。 由…

荣获国家高新技术企业认证,苹芯科技领航AI芯片产业发展

北京苹芯科技有限公司&#xff08;以下简称“苹芯科技”&#xff09;凭借在存算一体芯片领域的卓越表现&#xff0c;荣获国家高新技术企业认证。这一荣誉不仅是对苹芯科技多年来在科技创新、产品研发等方面所取得成果的肯定&#xff0c;更是对其未来发展潜力的认可。 苹芯科技…

XSS中级漏洞(靶场)

目录 一、环境 二、正式开始闯关 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x0B 0x0C 0x0D 0x0E ​ 0x0F 0x10 0x11 0x12 一、环境 在线环境&#xff08;gethub上面的&#xff09; alert(1) 二、正式开始闯关 0x01 源码&#xff1a; 思路&#xff1a;闭…

Vue.js+SpringBoot开发电子元器件管理系统

目录 一、摘要1.1 项目简介1.2 项目录屏 二、研究内容三、界面展示3.1 登录&注册&主页3.2 元器件单位模块3.3 元器件仓库模块3.4 元器件供应商模块3.5 元器件品类模块3.6 元器件明细模块3.7 元器件类型模块3.8 元器件采购模块3.9 元器件领用模块3.10 系统基础模块 四、…

网络工程师笔记3

IP地址类型 A类 255.0.0.0B类 255.255.0.0C类 255.255.255.0D类 E类 子网掩码&#xff1a;从左到右连续的确定网络位 2-4-8-16-32-64-128-256 128 &#xff1a; 1000 0000 64 &#xff1a; 0100 0000 32 &#xff1a; 0010 0000 16 &#xff1a; 0001 0000 8 &am…

Ubuntu整系统迁移到另一个硬盘中

以ubuntu20.04为例&#xff0c;之前使用的是1T的移动硬盘&#xff0c;每次进入后性能不太稳定&#xff0c;所以最近买了块1T的固态硬盘给我的笔记本装上了&#xff0c;但是如果重新进行各种软件安装及环境配置就太麻烦了&#xff0c;所以采用了系统迁移 1.首先制作一个Ubuntu系…

hcip交换

交换机功能 无限的传输距离——识别&#xff0c;重写电信号&#xff08;帧&#xff09;保证信息完整彻底解决了冲突二层单播——MAC地址表提高端口密度 单播地址&#xff1a;MAC地址第一个字节第8位为0 组播地址&#xff1a;MAC地址第一个字节第8位为1 广播地址&#xff1a;全1…

面试数据库篇(mysql)- 11主从同步

原理 MySQL主从复制的核心就是二进制日志 二进制日志&#xff08;BINLOG&#xff09;记录了所有的 DDL&#xff08;数据定义语言&#xff09;语句和 DML&#xff08;数据操纵语言&#xff09;语句&#xff0c;但不包括数据查询&#xff08;SELECT、SHOW&#xff09;语句。 复…

走进中国电车领跑企业“NI蔚来”丨共谋商业,共话ESG

期盼与热望将冬季的寒冷拂去&#xff0c;复旦大学-华盛顿大学EMBA项目迎来了一位新朋友——美国圣路易斯华盛顿大学奥林商学院的新任院长Michael Mazzeo教授。Mazzeo院长在上海进行了为期3天的访问。这里是 Mazzeo院长上任后国际访问交流之旅的第一站。      漫步校园&…

工作流软件平台服务商教您如何提高办公效率

想要提高办公效率&#xff0c;是很多企业的发展梦想。作为工作流软件平台服务商&#xff0c;流辰信息一直在低代码技术平台领域深耕细作&#xff0c;围绕客户需求和市场发展坚持自主创新&#xff0c;不断超越自己&#xff0c;成功向市场推出多款优秀的低代码技术平台产品&#…

c#打印BarTend标签提示:具名数据源没有cuckoo*具名数据(解决)

c#打印BarTend标签提示&#xff1a;具名数据源没有cuckoo*具名数据&#xff08;解决&#xff09; 今天咕咕更新打印模板的时候遇到的问题&#xff0c;就是在模版中配置了字段名&#xff0c;但是启动c#应用&#xff0c;后端发送json数据打印的时候c#报错提示&#xff0c;没有在…

【C语言基础】:深入理解指针(一)

文章目录 一、内存和地址1. 内存2. 如何理解编址 二、指针变量和地址2.1 取地址操作符(&)2.2 指针变量和解引用操作符(*)2.2.1 指针变量2.2.2 如何拆解指针变量2.2.3 解引用操作符 2.3 指针变量的大小 三、指针变量类型的意义3.1 指针的解引用3.2 指针 - 整数3.3 void*指针…