您的位置:首页 > 其它

Leetcode--jump game (最大跳)

2017-08-21 11:07 423 查看
问题:

给定非负整数数组nums,每个整数代表在当前位置的最大步数,初始为止都是index=0的位置,判断是否能够到达数组的最后一个位置。如:A =
[2,3,1,1,4]
,返回
true
.A =
[3,2,1,0,4]返回false


解题思路:


考虑用贪心算法,每一步只考虑当前可以到达的最大位置。因为当前可以到达的最大位置表示之前的位置都可以到达,可以用贪心算法。对数组进行一次遍历,存储最大位置即可


代码:




class Solution(object):
def canJump(self, nums):
"""
:type nums: List[int]
:rtype: bool
"""
n = len(nums)
reach = 1
for i in range(len(nums)):
if reach > i:
reach = max(reach,i+nums[i]+1)
if reach >= n:
return True
return False
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: