题目来源:
https://leetcode.com/problems/jump-game/
题意分析:
输入一个非负数组,数字代表这个位置最多可以跳多少步。判断能否从起始位置跳到最后的位置。比如[2,3,1,1,4]返回True,而[3,2,1,0,4]则返回False。
题目思路:
从其实位置判断,不断扩展可以到达的位置,最后判断可以到达的位置是否超过最后的位置。
代码(python):
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
class Solution(object): def canJump(self, nums): """ :type nums: List[int] :rtype: bool """ reach = 1 i = 0;size = len(nums) while i < reach and reach < size: reach = max(reach,i + 1 + nums[i]) i += 1 return reach >= size
转载请注明出处:http://www.cnblogs.com/chruny/p/4968975.html