mirror of
https://github.com/prdlk/leetcode.git
synced 2026-11-02 13:12:44 +00:00
feat(work): add Jump Game solution
This commit is contained in:
1 parent
6f375e6c14
commit
50b42108eb
1 file changed
+52
@@ -0,0 +1,52 @@
|
|||||||
|
"""
|
||||||
|
55. Jump Game
|
||||||
|
Difficulty: Medium
|
||||||
|
https://leetcode.com/problems/jump-game/
|
||||||
|
|
||||||
|
──────────────────────────────────────────────────
|
||||||
|
|
||||||
|
You are given an integer array nums. You are initially positioned at
|
||||||
|
the array's first index, and each element in the array represents your
|
||||||
|
maximum jump length at that position.
|
||||||
|
|
||||||
|
Return true if you can reach the last index, or false otherwise.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Example 1:
|
||||||
|
|
||||||
|
Input: nums = [2,3,1,1,4]
|
||||||
|
Output: true
|
||||||
|
Explanation: Jump 1 step from index 0 to 1, then 3 steps to the last
|
||||||
|
index.
|
||||||
|
|
||||||
|
Example 2:
|
||||||
|
|
||||||
|
Input: nums = [3,2,1,0,4]
|
||||||
|
Output: false
|
||||||
|
Explanation: You will always arrive at index 3 no matter what. Its
|
||||||
|
maximum jump length is 0, which makes it impossible to reach the last
|
||||||
|
index.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Constraints:
|
||||||
|
|
||||||
|
• 1 <= nums.length <= 10^4
|
||||||
|
|
||||||
|
• 0 <= nums[i] <= 10^5
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
class Solution:
|
||||||
|
def canJump(self, nums: list[int]) -> bool:
|
||||||
|
best, last = nums[0], len(nums) - 1
|
||||||
|
|
||||||
|
for i in range(last):
|
||||||
|
if i > best:
|
||||||
|
return False
|
||||||
|
else:
|
||||||
|
pos = nums[i] + i
|
||||||
|
best = max(best, pos)
|
||||||
|
|
||||||
|
return best >= last
|
||||||
Reference in new issue
Block a user