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