Skip to content

Commit ca341ed

Browse files
committed
Update Solution.java
1 parent afdf0e7 commit ca341ed

File tree

1 file changed

+20
-15
lines changed

1 file changed

+20
-15
lines changed

src/main/java/g0001_0100/s0045_jump_game_ii/Solution.java

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,27 @@
55
// #Big_O_Time_O(n)_Space_O(1) #2024_11_10_Time_0_ms_(100.00%)_Space_44.9_MB_(75.73%)
66

77
class Solution {
8-
public int jump(int[] nums) {
9-
if (nums.length == 1) return 0;
10-
return minJumps(nums, 0, 0);
8+
public int jump(int[] nums) {
9+
if (nums.length == 1) {
10+
return 0;
1111
}
12+
return minJumps(nums, 0, 0);
13+
}
1214

13-
private static int minJumps(int[] nums, int currIndex, int jumpStatus) {
14-
if (currIndex + nums[currIndex] >= nums.length - 1) return jumpStatus + 1;
15-
int nextIndex = currIndex + 1;
16-
int distanceLeft = (nums.length - 1 - (currIndex + 1)) - nums[currIndex + 1];
17-
for (int i = currIndex + 2; i <= (currIndex + nums[currIndex]); i++) {
18-
int tempDistanceLeft = (nums.length - 1 - i) - nums[i];
19-
if (distanceLeft > tempDistanceLeft) {
20-
distanceLeft = tempDistanceLeft;
21-
nextIndex = i;
22-
}
23-
}
24-
return minJumps(nums, nextIndex, jumpStatus + 1);
15+
16+
private static int minJumps(int[] nums, int currIndex, int jumpStatus) {
17+
if (currIndex + nums[currIndex] >= nums.length - 1) {
18+
return jumpStatus + 1;
19+
}
20+
int nextIndex = currIndex + 1;
21+
int distanceLeft = (nums.length - 1 - (currIndex + 1)) - nums[currIndex + 1];
22+
for (int i = currIndex + 2; i <= (currIndex + nums[currIndex]); i++) {
23+
int tempDistanceLeft = (nums.length - 1 - i) - nums[i];
24+
if (distanceLeft > tempDistanceLeft) {
25+
distanceLeft = tempDistanceLeft;
26+
nextIndex = i;
27+
}
2528
}
29+
return minJumps(nums, nextIndex, jumpStatus + 1);
30+
}
2631
}

0 commit comments

Comments
 (0)