代码编织梦想

跳跃游戏

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

思路

从题目我们维护一个整数end,并让end一直保持在当前可以到达的最远位置,如果遍历到end位置结束后end值依然小于最后一位下标,则返回false,若end大于或者等于最后一位下标返回true。

代码

public bool CanJump(int[] nums) {
    if(nums.Length<=1) return true;//如果长度低于2则已经到终点
    int end = 0;
    for(int i = 0;i<nums.Length;++i){//遍历数组
        end = Math.Max(i+nums[i],end);//维持end能走到最远的位置
        if(end >=nums.Length-1) return true;
        if(end ==i) break;
    }
    return false;
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lian_hang/article/details/127992876

力扣 --- 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、如何判断能否到达最后一个元素,我采取的方法是,计算出实时能够到达的最远下标,若最后一个元素的下标小于最远下标,

力扣解法汇总1345-跳跃游戏 IV-爱代码爱编程

原题链接:力扣 描述: 给你一个整数数组 arr ,你一开始在数组的第一个元素处(下标为 0)。 每一步,你可以从下标 i 跳到下标: i + 1 满足:i + 1 < arr.length i - 1 满足:i - 1 >= 0 j 满足:arr[i] == arr[j] 且 i != j 请你返回到达数组最后一个元素的下标处所需的

跳跃游戏(力扣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 ,你最初位于数组的 第一个下标 。 数组中的每

leetcode 刷题 log day 32_音音子-的博客-爱代码爱编程

122. 买卖股票的最佳时机 || 【思路】按照局部最优推出全局最优的思路。局部最优是获得最小买卖单位内的最大利润,就可以在全局最优获得最小买卖单位的最大利润。即当股票价格递增时,就买入第二天卖出。每天对股票进行操作。 v