法1:贪心
Python
最佳方案
class Solution:
def canJump(self, nums: List[int]) -> bool:
max_index = 0
for index, val in enumerate(nums):
if max_index >= index and index+val > max_index:
max_index = index+val
return max_index >= len(nums) - 1
Java
该方法次次之!!!
class Solution {
public boolean canJump(int[] nums) {
int maxIndex = nums.length - 1;
int curMaxIndex = 0;
for (int i = 0; i < nums.length; ++i) {
if (i <= curMaxIndex) {
curMaxIndex = Math.max(i + nums[i], curMaxIndex);
if (curMaxIndex >= maxIndex) {
return true;
}
}
}
return false;
}
}