详细思路 从左到右,每次维护寻找最远可到达的位置和上次找到的最远可到达的位置,在走向上次找到的最远可到达位置的时候不断寻找最远可到达位置,到达上次找到最远可到达位置后ans++并更新,直到寻找最远可到达位置大于终点直接ans++ 精确定义 lastfind上次找到的最远可到达的位置的下标 nowfi ...
转载 2021-07-28 13:54:00
103阅读
2评论
跳跃游戏题目:给定
原创 2023-06-15 14:10:10
54阅读
链接 给定数组arr,arr[i]==k代表可以从位置向右跳1~k个距离。比如,arr[2]==3,代表可以从位置2跳到位置3、位置4或位置5。如果从位置0出发,返回最少跳几次能跳到arr最后的位置上。 import java.util.Scanner; public class Main { pr ...
转载 2021-10-18 15:45:00
46阅读
2评论
详细思路 对于每一步,都更新最远能否到达的下标,如果已经来到了最远并且此时为0,false 精确定义 maxLeft最远能否到达的下标 i需要判断 class Solution { public: bool canJump(vector<int>& nums) { int n=nums.size() ...
i++
转载 2021-07-28 20:45:00
125阅读
此博客链接: 跳跃游戏 题目链接: 题目 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。 示例 1: 输入:nums = [2,3,1,1,4]输出:true解释:可以先跳 1 步,从下标 0 ...
转载 2021-09-14 08:58:00
106阅读
2评论
1. 跳跃游戏 Jump Game I给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标。示例 1: 输入:nums = [2,3,1,1,4] 输出:true 解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个
转载 2023-10-26 23:05:01
161阅读
目录1.问题描述2.1贪心算法2.2动态规划3.两种算法对比 1.问题描述给定一个非负整数数组 nums ,你最初位于数组的第一个下标。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标。 示例 1: 输入:nums = [2,3,1,1,4] 输出:true 解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。 示例
解题思路: 使用贪心思想计算出当前能到达的最远下标, 然后再用相同的方法计算出能到达的最远下标能够到达的最远下标, 如此循环。
# 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 # # 数组中的每个元素代表你在该位置可以跳跃的最大长度。 # # 判断你是否能够到达最后一个下标。 # # # # 示例 1: # # # 输入:nums = [2,3,1,1,4] # 输出:true # 解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最
转载 2023-06-06 10:00:26
176阅读
  前言 贪心算法是指在对问题求解时,不从整体最优考虑,只是局部的最优考虑。所以贪心算法可能不能达到最优解,贪心算法也有正确的时候,求最小生成树的Prim算法和Kruskal算法都是漂亮的贪心算法。贪心算法的基本思路是从问题的某一个初始解出发一步一步地进行,根据某个优化测度,每一步都要确保能获得局部最优解。 问题描述 给定一个非负整数数组nums,你最初位于数组的第一个下标。数组中的每个元素代
转载 2021-06-24 10:26:25
396阅读
文章目录Leetcode跳跃游戏题目简介跳跃游戏1跳跃游戏2Leetcode跳跃游戏题目简介给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。 示例 1:输入: [2,3,1,1,4]输出: true解释: 从位置 0 到 1 跳 1 步, 然后跳 3 步到达最后一个位置。示例 2:输入: [...
题目描述 (难度中等) 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。 示例 1: 输入:nums = [2,3,1,1,4] 输出:true 解释:可以先跳 1 步,从下标 0 到达下标 1, ...
转载 2021-10-12 10:59:00
98阅读
2评论
class Solution { public: bool canJump(vector<int>& nums) { int n = nums.size(); int current_length = nums[0]; if(n == 1) return true; if(current_length
i++
原创 9月前
206阅读
来看一道比较简单的跳跃游戏问题
原创 2021-06-14 23:53:50
3585阅读
给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标
转载 2021-08-13 13:46:42
166阅读
给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是
转载 2021-08-13 13:54:46
192阅读
想了解更多数据结构以及算法题,可以关注微信公众号“数据结构和算法”,每天一题为你精彩解答。也可以扫描下面的二维码关注给定一个非负整数数组
原创 2020-09-26 20:55:54
43阅读
题源:leetcode 链接:https://leetcode-cn.com/problems/jump-game-ii/ 这次讨论两种解法,一个dp一个贪心 贪心的方法: 1 class Solution { 2 public: 3 int jump(vector<int>& nums) { 4 ...
转载 2021-08-03 16:03:00
71阅读
2评论
此博客链接: 跳跃游戏2 题目链接: 题目 给你一个非负整数数组 nums ,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 假设你总是可以到达数组的最后一个位置。 示例 1: 输入: nums = [2,3,1 ...
转载 2021-09-15 08:53:00
97阅读
2评论
时间复杂度:空间复杂度:
原创 8月前
15阅读
  • 1
  • 2
  • 3
  • 4
  • 5