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

LeetCode 55 45:跳跃游戏与跳跃游戏 II - 贪心算法详解

文章目录

    • 引言
    • 1. LeetCode 55:跳跃游戏
      • 问题描述
      • 解法1:正向贪心算法
      • 解法2:反向贪心算法
    • 2. LeetCode 45:跳跃游戏 II
      • 问题描述
      • 贪心解法
      • 算法图解
    • 3. 核心技巧总结
    • 4. 常见问题解答
    • 结语

引言

跳跃游戏系列是LeetCode中经典的贪心算法问题,考察对数组遍历和最优策略的理解。本文将详细解析55题(跳跃游戏)和45题(跳跃游戏 II)的解决方案,通过图解和Java实现帮助读者掌握贪心算法的应用。

1. LeetCode 55:跳跃游戏

问题描述

给定一个非负整数数组 nums,你最初位于数组的第一个下标。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标。

示例:

输入: [2,3,1,1,4]
输出: true
解释: 从位置0跳1步到位置1,再从位置1跳3步到达最后一个位置。

解法1:正向贪心算法

核心思路: 维护当前能够到达的最远位置,遍历数组并实时更新这个值。

class Solution {public boolean canJump(int[] nums) {int maxReach = 0; // 当前能够到达的最远位置int n = nums.length;for (int i = 0; i < n; i++) {if (i > maxReach) return false;maxReach = Math.max(maxReach, i 

相关文章:

  • 2.qml使用c++
  • [NOIP 2001 普及组] 数的计算 Java
  • DFS:从入门到进阶的刷题指南
  • YOLOv8 实战指南:如何实现视频区域内的目标统计与计数
  • database disk image is malformed 的解决方法
  • 第十三章:预处理
  • JavaScript es6 语法 map().filter() 链式调用,语法解析 和常见demo
  • 2025年数字经济与绿色金融国际会议:智能金融与可持续发展的创新之路
  • C++容器进阶:深入解析unordered_map与unordered_set的前世今生
  • 《智能医学》征稿通知:7天可见刊,专科及以上可发表
  • 极坐标系下的极径 r 表示点到原点的距离 大于等于0
  • 实测,大模型谁更懂数据可视化?
  • 十二、FTP服务器配置与应用
  • LeetCode Hot100(矩阵)
  • ADB安装及使用
  • Ubuntu系统下Docker部署Dify保姆级教程:实现内网穿透远程访问
  • PostgreSQL 备份与恢复策略
  • 架构意识与性能智慧的双重修炼
  • Pytorch的梯度控制
  • Pinia Plungin Persistedstate
  • 郑州网站建设公司 艾特/幽默软文经典案例300
  • 做微信号公众号用网站还是App/网络营销产品策略分析
  • dw网站引导页怎么做/谷歌浏览器怎么下载
  • 信息作业网站下载/北京网站营销seo方案
  • 工厂怎么做网站/高清网站推广免费下载
  • 学习html的网站/微信指数查询