Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 400c3cb

Browse files
committed
solved: Jump Game II
1 parent f8d1281 commit 400c3cb

File tree

2 files changed

+53
-0
lines changed

2 files changed

+53
-0
lines changed

README.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
- [3 Sum](#3-sum)
2727
- [3 Sum Closest](#3-sum-closest)
2828
- [Letter combinations of a phone number](#letter-combinations-of-a-phone-number)
29+
- [Jump Game II](#jump-game-ii)
2930

3031
### String to Int - Atoi
3132

@@ -719,4 +720,26 @@ void lookupChar(
719720
}
720721
}
721722
}
723+
```
724+
725+
### Jump Game II
726+
727+
```dart
728+
int jump(List<int> nums) {
729+
if (nums.isEmpty) return 0;
730+
731+
int result = 0;
732+
int maxNumber = 0;
733+
int cur = 0;
734+
735+
for (var i = 0; i < nums.length - 1; i++) {
736+
maxNumber = max(maxNumber, i + nums[i]);
737+
if (i == cur) {
738+
result++;
739+
cur = maxNumber;
740+
}
741+
}
742+
743+
return result;
744+
}
722745
```

src/jump_game_2.dart

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import 'dart:math';
2+
3+
void main(List<String> args) {
4+
List<List<int>> cases = [
5+
[2, 3, 1, 1, 4],
6+
[2, 3, 0, 1, 4]
7+
];
8+
9+
for (final testcase in cases) {
10+
print(jump(testcase));
11+
}
12+
}
13+
14+
int jump(List<int> nums) {
15+
if (nums.isEmpty) return 0;
16+
17+
int result = 0;
18+
int maxNumber = 0;
19+
int cur = 0;
20+
21+
for (var i = 0; i < nums.length - 1; i++) {
22+
maxNumber = max(maxNumber, i + nums[i]);
23+
if (i == cur) {
24+
result++;
25+
cur = maxNumber;
26+
}
27+
}
28+
29+
return result;
30+
}

0 commit comments

Comments
 (0)