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

45. 跳跃游戏 II

在这里插入图片描述
思路

贪心策略: 用end来代表当前区间最后一个位置,maxp来代表可到达的最大位置,当区间遍历结束后,知道这个区间里有个下标可以跳跃至最远(即maxp)(贪心:每次都要选最远的跳) 那此时应该要更换区间范围.进行更换即代表走一步
如 [2,3,1,1,4] 刚开始区间【0】,当遍历区间结束,能到达最远距离是下标2,更换end为maxp,即到下标2。不论是从下标0到1或者2,都是需要走一步。
下标0这个位置可以跳到下标2 在区间[3,1]中,当遍历到下标2时发现 ,1下标可以跳到最远,那选择的跳跃应该是0下标到1,1到下一个位(maxp) (所说的下标均指列表nums的下标)

class Solution(object):def jump(self, nums):""":type nums: List[int]:rtype: int"""#dp方法 类似找零钱  超限# dp =[0]*(len(nums))# for i in range(1,len(nums)):#     j = i# 走的步骤不可能大于n-1#     mins = len(nums)#     while j>0:#         if (j-1) +nums[j-1]>=i:#             mins=min(min,dp[j-1])#         j-=1#     dp[i]=mins+1# return dp[-1]if len(nums)==1:return 0endp = 0maxp = 0step = 0for i in range(len(nums)-1):maxp = max(maxp,i+nums[i])if i == endp:endp=maxpstep+=1#遍历至n-2时,还没走到nif endp<len(nums)-1:step+=1return step

http://www.mrgr.cn/news/25670.html

相关文章:

  • D2307 Zblog 的CDNfly|CloudFlare全能CDN自动刷新缓存插件_自动清理_适配优化2.1.0版本
  • [项目][WebServer][Util类]详细讲解
  • 腾讯云、阿里云、华为云优惠券领取、查看、使用教程分享
  • PCL 读取STL文件转换为点云
  • odoo14 | 报错:Database backup error: Access Denied
  • MySQL 存储过程:强大的数据库功能利器
  • C++缺省参数
  • 数学基础 -- 线性代数之特征值与特征向量深入解析
  • 十,Spring Boot 的内容协商的详细剖析(附+Debug调试说明)
  • 数据库锁有哪些?什么是死锁?
  • brew install node提示:Error: No such keg: /usr/local/Cellar/node
  • Linux 驱动编写框架 并编译导入开发板
  • Leetcode 第 138 场双周赛题解
  • 分类预测|基于改进的灰狼IGWO优化支持向量机SVM的数据分类预测matlab程序 改进策略:Cat混沌与高斯变异
  • 阿里达摩院:FunASR - onnxruntime 部署
  • 单链表的建立
  • Httplib库源码粗度
  • 三折手机可能面临的问题
  • 如何在 Vue 3 中使用 Element Plus
  • 开源免费的工贸一体行业ERP管理系统