题目:
方法一:
给定数组中,每一位都可以确定出他所能跳到的最远距离(nums[i]+i)
当然,前提是当前该位能够由前面的位置跳到
我们可以定义一个总的最远距离(maxdistance)来记录
(最远距离:当前能够到达的最大下标值)
如果当前位置能够被跳到且其所能跳到的最远距离大于maxdistance,那么更新maxdistance
若最终最远距离大于或等于最后一个元素下标则返回true
代码:
方法二:
思路:
我们可以从后面往前遍历,不断更新目标;
(目标:我们返回true需要到达的位置)
(原本的目标值为最后一位,如果倒数第二位能够跳到目标,那么我们只需跳到倒数第二位即可,故目标值更新为倒数第二位)
如果最终目标为0,则返回true
(表示我们只需跳到下标为0便返回true)
更新的依据:当前下标i及对应值nums【i】之和大于或等于目标
代码:
标签:返回,远距离,下标,55,true,跳跃,倒数,maxdistance,LeetCode From: https://blog.csdn.net/lyy_222/article/details/136851268