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

算法题(76):跳跃游戏II

审题:
在确定一定可以到达数组末尾位置的前提下,查找跳跃次数最少得跳跃次数

思路:

方法一:反向查找最少次数
首先我们反向来思考,若我们要跳到pos位置(初始化为n-1位置),最后一步有多情况,但是最后一步跳出位置的索引值越小,跳跃次数越少。以此类推,我们将该跳出位置更新为pos,重复进行操作,直到pos==0结束查找(因为题目确保一定可以到达末尾,且第一步一定是从0索引出发)

方法二:正向查找最少次数

由于反向查找需要的时间复杂度是O(n^2),所以我们优化一下时间复杂度。

我们维护一个maxdistance,他负责维护选择完最优落点后的可达最远距离,在maxdiatance可以覆盖到的索引处寻找下一个最优跳跃点,最优跳跃点就是落在该位置后可以走的距离比其他位置远。维护一个end他表示当前索引可以到达的最远索引,也就是搜索最优落点的范围,当i==end时,count++,因为此时已经选择完下一个落点,跳越数++

解题:

方法一:反向查找

方法二:正向查找

45. 跳跃游戏 II - 力扣(LeetCode)

相关文章:

  • 【JavaWeb13】了解ES6的核心特性,对于提高JavaScript编程效率有哪些潜在影响?
  • 静止的钉子
  • transformer架构嵌入层位置编码之动态NTK-aware位置编码
  • 第四章 哈希表
  • 每天一个Flutter开发小项目 (4) : 构建收藏地点应用 - 深入Flutter状态管理
  • 递归、搜索与回溯算法 —— 名词解析
  • Elasticsearch面试宝典【刷题系列】
  • 【深度学习神经网络学习笔记(三)】向量化编程
  • 将CUBE或3DL LUT转换为PNG图像
  • 怎么修改node_modules里的文件,怎么使用patch-package修改node_modules的文件,怎么修改第三方库原文件。
  • Staruml软件的介绍安装uml类图的绘制流程
  • Go小技巧易错点100例(二十三)
  • DDR3模块、HDMI、晶振的布局原则
  • 51c视觉~CV~合集4
  • 白帽黑客系列教程之Windows驱动开发(64位环境)入门教程(七)
  • C++初阶——简单实现stack和queue
  • Linux运维——网络管理
  • 【AIGC】使用Python实现科大讯飞语音服务ASR转录功能:完整指南
  • ow rank decomposition如何用于矩阵的分解
  • 【CPP面经】大厂CPP后台开发面试经历
  • 上海专业网站建设咨询/国内疫情最新消息
  • 网页制作三剑客软件/苏州网站优化公司
  • 有个网站发任务 用手机可以做/搜狗友链交换
  • 淘宝网站优化实例/网络电商推广方案
  • 网站建设空间多大/百度指数分析平台
  • 机械加工网入网/网站seo报价