From 6f375e6c146ddde64387e09b2c06facf49827632 Mon Sep 17 00:00:00 2001 From: Prad Nukala Date: Tue, 29 Sep 2026 14:11:40 -0400 Subject: [PATCH] docs(docs): add Jump Game documentation page and redirect entry --- .../greedy/55-jump-game.mdx | 44 +++++++++++++++++++ apps/docs/redirects.ts | 1 + 2 files changed, 45 insertions(+) create mode 100644 apps/docs/content/(05-decision-space)/greedy/55-jump-game.mdx diff --git a/apps/docs/content/(05-decision-space)/greedy/55-jump-game.mdx b/apps/docs/content/(05-decision-space)/greedy/55-jump-game.mdx new file mode 100644 index 0000000..1ac6acd --- /dev/null +++ b/apps/docs/content/(05-decision-space)/greedy/55-jump-game.mdx @@ -0,0 +1,44 @@ +--- +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" } +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 +``` diff --git a/apps/docs/redirects.ts b/apps/docs/redirects.ts index 2963927..af390d1 100644 --- a/apps/docs/redirects.ts +++ b/apps/docs/redirects.ts @@ -17,6 +17,7 @@ export default [ { from: "/49", to: "/hash-table/group-anagrams" }, { from: "/53", to: "/greedy/maximum-subarray" }, { from: "/54", to: "/matrix-index-math/spiral-matrix" }, + { from: "/55", to: "/greedy/jump-game" }, { from: "/62", to: "/multi-d-grid-dp/unique-paths" }, { from: "/64", to: "/multi-d-grid-dp/minimum-path-sum" }, { from: "/70", to: "/1d-dynamic-programming/climbing-stairs" },