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

45.跳跃游戏 II

题目来源:

        leetcode题目,网址:45. 跳跃游戏 II - 力扣(LeetCode)

解题思路:

       用数组记录到达当前节点最小步数。遍历数组时,根据当前节点的值和到当前节点的最小步数得到从当前节点出发到各可达节点的最小步数,若其值小于到各可达节点节点的最小步数,更新最小步数数组。

解题代码:

#python3
class Solution:
    def jump(self, nums: List[int]) -> int:
        cnt=[len(nums)+1]*len(nums)
        cnt[0]=0
        for i in range(len(nums)):
            for j in range(nums[i]+1):
                if i+j<len(nums):
                    cnt[i+j]=min(cnt[i]+1,cnt[i+j])
        return cnt[len(nums)-1]

总结:

        官方题解给出了贪心正向和贪心反向两种解法。

        贪心正向得到每一步所能走出的最大距离,当该距离大于等于数组长度时即为所求。

        贪心反向以到目的地的最远位置为一步,确定一步后以当前位置为新的目的地直至到达数组起点。


相关文章:

  • 网络编程—TCP/IP模型(数据链路层了解与知识补充)
  • DApp实战篇:前端技术栈一览
  • [ Redis ] | 初识Redis
  • 【数据结构】图的存储
  • ES使用聚合aggregations实战(自用:2025.04.07更新)
  • 铰链损失函数 Hinge Loss和Keras 实现
  • leetcode-代码随想录-哈希表-赎金信
  • Qt中的多种输出方式,信号与槽的基本使用
  • 场内期权和场外期权开户有什么区别?
  • 【学习笔记】Gymnasium入门(一)
  • 大模型:大模型部署Ollama和Dify
  • Python+AI提示词用贝叶斯样条回归拟合BSF方法分析樱花花期数据模型构建迹图、森林图可视化
  • 学透Spring Boot — 016. 魔术师 - Spring MVC Conversion Service 类型转换
  • SSL证书颁发机构有哪些呢
  • Mysql——DbUtils的使用
  • 二叉树——队列bfs专题
  • Docker容器中的ubuntu apt update报错 解决办法
  • 【58】编程技巧:单片机编程命名规范
  • Oracle数据库数据编程SQL<4.3 事务的补充内容(了解)>
  • 十、C++速通秘籍—多进程
  • 秦皇岛市做网站优化/百度提交网址多久才会收录
  • 网站可兼容移动端/会计培训班初级费用
  • 淘宝做seo要建网站吗/中囯军事网
  • 网站做等级保护/qq推广网站
  • 深圳有没有可以做家教的网站/windows优化大师靠谱吗
  • 武汉做商城网站建设/网络优化报告