news 2026/4/28 6:11:46

【LeetCode: 跳跃游戏】贪心算法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【LeetCode: 跳跃游戏】贪心算法

目 录

一、题目描述

二、题目解答

2.1 思路

2.2 代码

三、总结


一、题目描述

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

示例 1:输入:nums = [2,3,1,1,4]
输出:true
解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。

示例 2:输入:nums = [3,2,1,0,4]
输出:false
解释:无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 , 所以永远不可能到达最后一个下标。

二、题目解答

2.1 思路

最开始一看到题目就直接简单的想这不就遍历数组,遇到 0 就返回 false 就好了啊。但结果emm也是大错特错了。😢因为如果 0 前面的数字可以直接越过 0 呢?那不也能跳过去!所以我们要考虑到当前元素能跳跃到最远的元素下标为多少。

思路:1. 定义一个变量 maxJump,表示当前能达到的最远下标,初始值为 0

2. 遍历数组,若 i > maxJump,就说明该元素连当前位置都到达不了,所以直接返回false;否则就更新 maxJump 的值;最后对 maxJump 与数组最后一个元素下标比较,若大于等于就返回 true

3. 遍历结束,返回 true

接下来想说一下这个 maxJump 的值该怎样更新?我们知道 maxJump 表示的是最远下标,那么当我们更新 maxJump 时就不能只是把 nums[i] 和当前 maxJump 它俩之间取最大值!我们应该加上当前元素的下标,因为是从当前元素开始跳的,如果不加的话都默认是从 0 开始跳的了😁!我觉得这是一个很容易落下的点。

2.2 代码

class Solution { public boolean canJump(int[] nums) { int maxJump = 0; int n = nums.length; for(int i = 0; i < n; i++){ if(i > maxJump){ return false; }else{ maxJump = Math.max(i + nums[i],maxJump); } if(maxJump >= n-1){ return true; } } return true; } }

三、总结

今天通过这道题学到了看见题目不能想的太简单了,有好多小点容易忽略!😬

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/28 6:05:33

规划型智能体:如何实现复杂任务的自主拆解与动态执行?

文章对比了流程型与规划型智能体的特点&#xff0c;其中流程型智能体如Dify需预先设计工作流&#xff0c;而规划型智能体&#xff08;如OpenClaw&#xff09;能围绕目标动态拆解任务、决定工具和步骤。以分析AI编程助手为例&#xff0c;规划型智能体通过“规划-执行-反思-记忆-…

作者头像 李华
网站建设 2026/4/28 6:04:24

OpenClaw的API密钥存在电脑里,远程调用安全吗?

这几天帮朋友配置OpenClaw&#xff0c;他说他想要在异地的时候都能访问到家里配置的小龙虾&#xff0c;可不可以申请个域名&#xff0c;把它绑定&#xff1f; 可以是可以&#xff0c;但是安全问题&#xff0c;咱们可不背锅……对于OpenClaw直接暴露在公网&#xff0c;小白一直…

作者头像 李华
网站建设 2026/4/28 6:00:21

算法训练营Day15|反转字符串

题目链接&#xff1a;https://leetcode.cn/problems/reverse-string/ 视频链接&#xff1a;https://www.bilibili.com/video/BV1fV4y17748 题目理解 给定一个字符数组 s 原地反转字符串&#xff08;不要返回新数组&…

作者头像 李华
网站建设 2026/4/28 5:58:23

深度学习优化技术与神经科学预测模型实践

1. 深度学习优化技术解析深度学习优化技术是提升模型性能的关键环节&#xff0c;它直接影响着模型的训练效率和最终表现。在神经科学预测领域&#xff0c;优化技术的重要性尤为突出&#xff0c;因为这类任务通常需要处理高维时序数据&#xff0c;计算复杂度极高。1.1 计算图优化…

作者头像 李华
网站建设 2026/4/28 5:57:20

3D Face HRN实战教程:基于Flask封装RESTful API,对接微信小程序前端

3D Face HRN实战教程&#xff1a;基于Flask封装RESTful API&#xff0c;对接微信小程序前端 1. 引言&#xff1a;从本地应用到云端服务 想象一下这样的场景&#xff1a;用户通过微信小程序上传一张自拍照&#xff0c;几秒钟后就能在手机上看到自己脸部的3D模型&#xff0c;还…

作者头像 李华