-
Notifications
You must be signed in to change notification settings - Fork 20
/
Copy pathJumpGame.py
40 lines (34 loc) · 937 Bytes
/
JumpGame.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# -*- coding: UTF-8 -*-
#
# 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.
#
# For example:
# A = [2,3,1,1,4], return true.
#
# A = [3,2,1,0,4], return false.
#
# Python, Python3 all accepted.
class JumpGame:
def canJump(self, nums):
"""
:type nums: List[int]
:rtype: bool
"""
if nums is None:
return False
nums_length = len(nums)
if nums_length == 0:
return False
if nums_length == 1:
return True
max_length = 0
for i in range(nums_length - 1):
max_length -= 1
max_length = max(max_length, nums[i])
if max_length == 0:
return False
return max_length >= 0