贪心算法-跳跃游戏

给你一个非负整数数组 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 , 所以永远不可能到达最后一个下标。

提示:

  • 1 <= nums.length <= 104
  • 0 <= nums[i] <= 105

贪心在每次都要最多,注意看for循环代表了当前cout能走的最大路径,count代表了最多能走多少!!! 如果用nums.size的话就永远为ture了!如果是那样的话,对于第二个测试案例count的值输出就为3338!!!而且这样做法必定为ture!而如果换成count为最大值,则可以代表这样数组能遍历到哪,这个就是他贪心的地方,每次都要拿最大,看看能不能到达条件!!

class Solution {

public:

bool canJump(vector<int>& nums) {

int count =0;

if(nums.size()==1) return true;

for(int i=0;i<=count;i++){

count =max(i+nums[i],count);

if(count>=nums.size()-1) return true;

}

return false;

}

};

相关推荐
小龙报10 分钟前
算法通关指南:数据结构和算法篇 --- 队列相关算法题》--- 1. 【模板】队列,2. 机器翻译
c语言·开发语言·数据结构·c++·算法·学习方法·visual studio
星释18 分钟前
Rust 练习册 :Poker与扑克牌游戏
开发语言·游戏·rust
晨非辰27 分钟前
【数据结构初阶】--从排序算法原理分析到代码实现操作,参透插入排序的奥秘!
c语言·开发语言·数据结构·c++·算法·面试·排序算法
三川6981 小时前
排序算法介绍
数据结构·算法·排序算法
智驱力人工智能6 小时前
基于视觉分析的人脸联动使用手机检测系统 智能安全管理新突破 人脸与手机行为联动检测 多模态融合人脸与手机行为分析模型
算法·安全·目标检测·计算机视觉·智能手机·视觉检测·边缘计算
2301_764441337 小时前
水星热演化核幔耦合数值模拟
python·算法·数学建模
循环过三天7 小时前
3.4、Python-集合
开发语言·笔记·python·学习·算法
priority_key9 小时前
排序算法:堆排序、快速排序、归并排序
java·后端·算法·排序算法·归并排序·堆排序·快速排序
不染尘.9 小时前
2025_11_7_刷题
开发语言·c++·vscode·算法
来荔枝一大筐10 小时前
力扣 寻找两个正序数组的中位数
算法