mirror of
https://github.com/prdlk/leetcode.git
synced 2026-11-02 21:22:43 +00:00
53 lines
1.6 KiB
Plaintext
53 lines
1.6 KiB
Plaintext
---
|
|
title: '55. Jump Game'
|
|
description: 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
|
|
icon: dot
|
|
topics:
|
|
- { name: "Array", slug: "array" }
|
|
- { name: "Dynamic Programming", slug: "dynamic-programming" }
|
|
- { name: "Greedy", slug: "greedy" }
|
|
issue: "https://github.com/prdlk/leetcode/issues/175"
|
|
companies:
|
|
- { name: "Amazon", period: "Thirty Days", frequency: 39.1 }
|
|
- { name: "Meta", period: "Three Months", frequency: 54.8 }
|
|
- { name: "Bloomberg", period: "Three Months", frequency: 54 }
|
|
- { name: "Google", period: "Three Months", frequency: 45 }
|
|
- { name: "Microsoft", period: "Three Months", frequency: 33.4 }
|
|
- { name: "Infosys", period: "Six Months", frequency: 56.2 }
|
|
sidebar:
|
|
label: 'Jump Game'
|
|
badge: 'Medium'
|
|
---
|
|
|
|
### 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`
|
|
|
|
## Solution
|
|
|
|
```py
|
|
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
|
|
```
|