首页 > TAG信息列表 > LeetCode55
动态规划——leetcode55、跳跃游戏
题目描述: 解题方法:动态规划 动态规划解题步骤: 确定状态: 最后一步:如果能跳到最后一个下标,我们考虑他的最后一步到n-1(最后一个下标),这一步是从 i 跳过来的,i<n-1; 这需要满足两个条件: 可以跳到 i ; 最后一步跳跃的距离 <= 从i可以跳跃(贪心)leetcode55. 跳跃游戏
题目 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。 样例 示例 1: 输入:nums = [2,3,1,1,4] 输出:true 解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达【贪心算法】leetcode55. 跳跃游戏
题目描述(传送门) 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。 示例 1: 输入:nums = [2,3,1,1,4] 输出:true 解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3LeetCode55. 跳跃游戏
题目 分析 其实这题比较坑,不去关心每次究竟跳几步,而是看每次最多能跳到哪里,最后的最高跳范围包含结果就成功。贪心每一次最大范围。 需要注意的是,之前跳的范围不含本层,那么就为false。 代码 自己 1 class Solution { 2 public: 3 bool canJump(vector<int>& nums) { 4LeetCode55---跳跃游戏
题目描述 给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个位置。 示例1: 输入: [2,3,1,1,4] 输出: true 解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后leetcode55 跳跃游戏
这道题如果采用循环的方式,每次记录下一跳能到哪里,则时间复杂度为O(n^2),太慢了。 因此,我们需要想更加简单的方法。 我们发现,当经过某一跳时,我们可以知道通过这一跳之后能达到的最远距离,只要这个最远距离能够达到最后一个即可。因此,我们每经过一跳,我们就看下能不能到最远,如果能leetcode55
题目: Given an array of non-negative integers, you are initially positioned at the first index of the array. Each element in the array represents your maximum jump length at that position. Determine if you are able to reach the last index. Example 1: Input: