当前位置: 首页 > news >正文

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

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

完全想不出来贪心的解法,分解为每天的利润,所有正利润之和为最大利润

class Solution:def maxProfit(self, prices: List[int]) -> int:result = 0for i in range(1, len(prices)):result += max(prices[i] - prices[i-1], 0)return result

55. 跳跃游戏

class Solution:def canJump(self, nums: List[int]) -> bool:maxIndex = 0for i in range(len(nums)):maxIndex = max(maxIndex, i+nums[i])if maxIndex <= i and i != len(nums) - 1:return Falsereturn True

可以不用遍历完成,只要maxIndex能覆盖到终点就行

class Solution:def canJump(self, nums: List[int]) -> bool:maxIndex = 0i = 0while i <= maxIndex:maxIndex = max(maxIndex, i+nums[i])if maxIndex >= len(nums) - 1:return Truei += 1return False

45.跳跃游戏II

贪心的思路,局部最优:当前可移动距离尽可能多走,如果还没到终点,步数再加一。整体最优:一步尽可能多走,从而达到最少步数。

class Solution:def jump(self, nums: List[int]) -> int:if len(nums) <= 1:return 0curDistance = 0nextDistance = 0result = 0for i in range(len(nums)):nextDistance = max(nextDistance, nums[i] + i)if i == curDistance:result += 1curDistance = nextDistanceif nextDistance >= len(nums) - 1:breakreturn result

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Unity中使Main Camera显示Canvas的区域
  • NL6621 实现获取天气情况
  • 数据湖对比(hudi,iceberg,paimon,Delta)
  • 对竞品分析的理解
  • 树与二叉树的概念介绍
  • Python I/O操作笔记
  • 嵌入式之译码器
  • 爬虫之re数据清洗
  • java —— 连接 MySQL 操作
  • Spring Boot Interceptor(拦截器使用及原理)
  • FltSendMessage 超时时间相关问题
  • 华为HCIP认证H12-831新增变题
  • 基于Netty实现安全认证的WebSocket(wss)服务端
  • 知识分享:隔多久查询一次网贷大数据信用报告比较好?
  • qt for android 重新编译Qt6Android.jar
  • Android交互
  • co模块的前端实现
  • create-react-app做的留言板
  • HTTP中GET与POST的区别 99%的错误认识
  • java多线程
  • Less 日常用法
  • scala基础语法(二)
  • SpringCloud集成分布式事务LCN (一)
  • 程序员该如何有效的找工作?
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 回顾2016
  • 面试总结JavaScript篇
  • 使用权重正则化较少模型过拟合
  • 《天龙八部3D》Unity技术方案揭秘
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (javascript)再说document.body.scrollTop的使用问题
  • (Java企业 / 公司项目)点赞业务系统设计-批量查询点赞状态(二)
  • (二)Linux——Linux常用指令
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (七)理解angular中的module和injector,即依赖注入
  • (学习日记)2024.02.29:UCOSIII第二节
  • (一)插入排序
  • (原創) 人會胖會瘦,都是自我要求的結果 (日記)
  • ***监测系统的构建(chkrootkit )
  • ../depcomp: line 571: exec: g++: not found
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码
  • .NET CORE 2.0发布后没有 VIEWS视图页面文件
  • .NET和.COM和.CN域名区别
  • .NET未来路在何方?
  • .Net下C#针对Excel开发控件汇总(ClosedXML,EPPlus,NPOI)
  • ?php echo $logosrc[0];?,如何在一行中显示logo和标题?
  • @Documented注解的作用
  • [ C++ ] STL_list 使用及其模拟实现
  • [AAuto]给百宝箱增加娱乐功能
  • [ActionScript][AS3]小小笔记