代码编织梦想

题目

在这里插入图片描述

分析

有题可知,使用贪心算法。

代码

class Solution 
{
public:
    bool canJump(vector<int>& nums) 
    {
        int n = nums.size();
        int Rmost = 0;      //可以跳到的最右边
        for(int i = 0; i < n; i++)
        {
            if(i <= Rmost)
            {
                Rmost = max(Rmost, i + nums[i]);    //取其中较大值
            }
            if(Rmost >= n-1)       //最远大于n-1则可以
            {
                return true;
            }
        }

        return false;
    }
};

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_74112538/article/details/128842401

力扣 --- 45. 跳跃游戏II-爱代码爱编程

45. 跳跃游戏II 2020.05.04 22:58 题目描述: 给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一次位置。 示例: 输入: [2,3,1,1,4] 输出: 2 解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为

力扣55. 跳跃游戏-爱代码爱编程

题目:给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。 示例 1: 输入:nums = [2,3,1,1,4] 输出:true 解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。 示例 2:

02-动态规划专项-力扣第45题-爱代码爱编程

45 跳跃游戏 II 题目描述 给你一个非负整数数组 nums ,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 假设你总是可以到达数组的最后一个位置。 示例1: 输入: nums = [2,3,1,1,4] 输出: 2 解释: 跳到最后一个位置的最小跳跃

04-动态规划专项-力扣第55题-爱代码爱编程

55 跳跃游戏 问题描述: 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。 示例1: 输入:nums = [2,3,1,1,4] 输出:true 解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下

力扣-跳跃游戏Ⅱ-爱代码爱编程

给你一个非负整数数组 nums ,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 假设你总是可以到达数组的最后一个位置。 public int jump(int[] nums) { int length = nums.length;

2021.8.5 力扣-跳跃游戏 II-爱代码爱编程

题目描述: 给你一个非负整数数组 nums ,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 假设你总是可以到达数组的最后一个位置。 方法一: class Solution { public: int jump(vector<int>&a

55.跳跃游戏--力扣(js)-爱代码爱编程

题目描述: 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标。示例:思路描述: 1、如果输入数组的长度为1,即出发就为终点,直接返回true。 2、如何判断能否到达最后一个元素,我采取的方法是,计算出实时能够到达的最远下标,若最后一个元素的下标小于最远下标,

力扣-55.跳跃游戏(c语言实现)-爱代码爱编程

题目描述: 看题目应该不能发现,如果都是大于0的数肯定必过;所以只要判断0之前的数会不会那个会不会大于这两个数下标的差; 代码实现: bool canJump(int* nums, int numsSize){     if(numsSize==1&&nums[0]==0) return true;     if(nums[0]==

跳跃游戏(力扣55)Java 贪心-爱代码爱编程

一、题目描述 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。 示例 1: 输入:nums = [2,3,1,1,4] 输出:true 解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。 示例

跳跃游戏.力扣55-爱代码爱编程

一、题目描述 二、思路 根据题意,数组中每个位置可到达的最远位置为 i + nums[i] ,用for循环遍历数组,记录从起始位置开始体跳跃可到达的最远位置并更新,当可到达的最远位置小于数组的下标时,说明最后一个位置不可达 三、代码实现 class Solution { public boolean canJump(int[] nu

力扣------跳跃游戏-爱代码爱编程

bool canJump(int* nums, int numsSize){ int flag=0; int jump[numsSize]; for(int a=0;a<numsSize;a++){ jump[a]=nums[a]+a; } while(flag!=numsSize-1){

贪心-力扣-45. 跳跃游戏 II-爱代码爱编程

题目链接 跳跃游戏 II 给你一个非负整数数组 nums ,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 假设你总是可以到达数组的最后一个位置。 示例 1: 输入: nums = [2,3,1,1,4] 输出: 2 解释: 跳到最后一个位置的最小跳跃

力扣-1306题 跳跃游戏 iii(c++)- dfs_jingles123的博客-爱代码爱编程

题目链接:https://leetcode.cn/problems/jump-game-iii/ 题目如下: class Solution { public: bool canReach(vector<int>& arr, int start) { //回溯和dfs的区别:回溯有回退,dfs无回退

力扣55题:跳跃游戏_瀛台夜雪的博客-爱代码爱编程

力扣55题:跳跃游戏 题目描述 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。 输入输出样例 输入:nums = [2,3,1,1,4] 输出:true 解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最

力扣-45. 跳跃游戏 ii_一枚嘉应子的博客-爱代码爱编程

目录 前言talk is cheap分析 前言 本人刷题不大喜欢硬背,追求代码逻辑极致简洁。刷题顺序按照代码随想录进行(强烈安利),若有读者在其他题目有疑问,亦可留言。 talk is cheap cla

力扣55-跳跃游戏——贪心算法_张怼怼√的博客-爱代码爱编程

题目描述 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。 求解思路 创建变量 coverage 用来保存所能跳到的最远的距离;遍历数组nums,考虑 coverage 大于nums数组的最后一个位置,则认为可以跳到这个位置,返回True,否则

leetcode:55. 跳跃游戏-dp_uncle_ll的博客-爱代码爱编程

55. 跳跃游戏 来源:力扣(LeetCode) 链接: https://leetcode.cn/problems/jump-game/ 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每

力扣 55. 跳跃游戏_呦,又写bug呢的博客-爱代码爱编程

题目描述 力扣题目链接 给定一个非负整数数组 nums ,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标。 示例 1: 输入:nums = [2,3,1,1