Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit f86ae96

Browse files
committed
feat: add solution for jump game ii
1 parent 7d9b8d5 commit f86ae96

File tree

4 files changed

+51
-2
lines changed

4 files changed

+51
-2
lines changed

‎alternative/medium/jump_game_ii.py‎

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
from typing import List
2+
3+
def jump(nums: List[int]) -> int:
4+
minJump = 0
5+
l = r = 0
6+
7+
while r < len(nums) - 1:
8+
farthest = 0
9+
10+
for i in range(l, r + 1):
11+
farthest = max(farthest, i + nums[i])
12+
13+
l = r + 1
14+
r = farthest
15+
minJump += 1
16+
17+
return minJump
18+
19+
# You always can reach the last index.
20+
assert jump([2, 3, 1, 1, 4]) == 2
21+
assert jump([2, 3, 0, 1, 4]) == 2
22+
assert jump([2, 3, 0, 1, 0]) == 2
23+
assert jump([4, 3, 0, 1, 0]) == 1

‎src/medium/jump_game_ii.rs‎

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#![allow(dead_code)]
2+
pub fn jump(nums: Vec<i32>) -> i32 {
3+
let mut min_jump = 0;
4+
let mut l = 0;
5+
let mut r = 0;
6+
7+
while r < nums.len() - 1 {
8+
let mut farthest = 0;
9+
10+
for i in l..=r {
11+
farthest = farthest.max(i + nums[i] as usize);
12+
}
13+
14+
l = r + 1;
15+
r = farthest;
16+
min_jump += 1;
17+
}
18+
19+
min_jump
20+
}
21+
22+
#[test]
23+
fn test_jump() {
24+
assert_eq!(jump(vec![2, 3, 1, 1, 4]), 2);
25+
assert_eq!(jump(vec![2, 3, 0, 1, 4]), 2);
26+
}

‎src/readme.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959
- [x] [36. Valid sudoku](../src/medium/valid_sudoku.rs) -> [Problem Description](../src/medium/readme.md#36-valid-sudoku)
6060
- [x] [39. Combination sum](../src/medium/combination_sum.rs) -> [Problem Description](../src/medium/readme.md#39-combination-sum)
6161
- [x] [40. Combination sum II](../src/medium/combination_sum_ii.rs) -> [Problem Description](../src/medium/readme.md#40-combination-sum-ii)
62-
- [] [45. Jump game II](../src/medium/jump_game_ii.rs) -> [Problem Description](../src/medium/readme.md#45-jump-game-ii)
62+
- [x] [45. Jump game II](../src/medium/jump_game_ii.rs) -> [Problem Description](../src/medium/readme.md#45-jump-game-ii)
6363
- [x] [46. Permutations](../src/medium/permutations.rs) -> [Problem Description](../src/medium/readme.md#46-permutations)
6464
- [x] [49. Group anagrams](../src/medium/group_anagrams.rs) -> [Problem Description](../src/medium/readme.md#49-group-anagrams)
6565
- [x] [53. Maximum subarray](../src/medium/maximum_subarray.rs) -> [Problem Description](../src/medium/readme.md#53-maximum-subarray)

‎theory/categories/7.greedy/readme.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Greedy algorithms are implemented using a greedy function that makes the best ch
1717

1818
- [x] [Maximum Subarray](https://leetcode.com/problems/maximum-subarray/) | Medium | [Solution](../../../src/medium/maximum_subarray.rs) | [Problem Description](../../../src/medium/readme.md#53-maximum-subarray)
1919
- [x] [Jump Game](https://leetcode.com/problems/jump-game/) | Medium | [Solution](../../../src/medium/jump_game.rs) | [Problem Description](../../../src/medium/readme.md#55-jump-game)
20-
- [] [Jump Game II](https://leetcode.com/problems/jump-game-ii/) | Medium | [Solution](../../../src/medium/jump_game_ii.rs) | [Problem Description](../../../src/medium/readme.md#45-jump-game-ii)
20+
- [x] [Jump Game II](https://leetcode.com/problems/jump-game-ii/) | Medium | [Solution](../../../src/medium/jump_game_ii.rs) | [Problem Description](../../../src/medium/readme.md#45-jump-game-ii)
2121
- [ ] [Gas Station](https://leetcode.com/problems/gas-station/) | Medium | [Solution](../../../src/medium/gas_station.rs) | [Problem Description](../../../src/medium/readme.md#134-gas-station)
2222
- [ ] [Hand of Straights](https://leetcode.com/problems/hand-of-straights/) | Medium | [Solution](../../../src/medium/hand_of_straights.rs) | [Problem Description](../../../src/medium/readme.md#846-hand-of-straights)
2323
- [ ] [Merge Triplets to Form Target Triplet](https://leetcode.com/problems/merge-triplets-to-form-target-triplet/) | Medium | [Solution](../../../src/medium/merge_triplets_to_form_target_triplet.rs) | [Problem Description](../../../src/medium/readme.md#1899-merge-triplets-to-form-target-triplet)

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /