当前位置: 首页 > 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 
http://www.xdnf.cn/news/711343.html

相关文章:

  • 前端开发中 <> 符号解析问题全解:React、Vue 与 UniApp 场景分析与解决方案
  • 题目 3298: 蓝桥杯2024年第十五届决赛真题-兔子集结
  • WPF log4net用法
  • STM32 AD单通道与多通道实战指南
  • 【QT】理解QT的“元对象系统”
  • 【Tips】关于PCI和PCIe的配置空间差异和io/memory io读写
  • 【CF】Day69——⭐Codeforces Round 897 (Div. 2) D (图论 | 思维 | DFS | 环)
  • Redis--基础知识点--28--慢查询相关
  • 【ConvLSTM第二期】模拟视频帧的时序建模(Python代码实现)
  • CppCon 2014 学习第4天:Transactional Language Constructs for C++ TS(未进入到标准)
  • RDS PostgreSQL手动删除副本集群副本的步骤
  • 58同城C++开发面试题及参考答案
  • OpenCV CUDA模块结构分析与形状描述符------计算指定阶数的矩(Moments)所需的总数量函数:numMoments
  • json转成yolo用的txt(json中没有宽高,需要自设宽高的)
  • Mysql数据库 索引,事务
  • 数据库 | 时序数据库选型
  • 物联网常用协议Modbus、CAN、BACnet介绍
  • UniApp X:鸿蒙原生开发的机会与DCloud的崛起之路·优雅草卓伊凡
  • EasyVoice:开源的文本转语音工具,让文字“开口说话“
  • C语言学习笔记四---V
  • Spring官方的在线教程也可以用中文观看了
  • js如何把json对象格式数据快速字符串
  • 长安链合约操作 查询合约命令解析
  • 基于 GitLab CI + Inno Setup 实现 Windows 程序自动化打包发布方案
  • 2025年- H57-Lc165--994.腐烂的橘子(图论,广搜)--Java版
  • GPIO模拟串口通信
  • DeepSeek - 尝试一下GitHub Models中的DeepSeek
  • Vue2部分知识点和注意项
  • SAP销售订单批导创建
  • C/C++ OpenCV 矩阵运算