Skip to content

Commit f5b3789

Browse files
committed
Add 1326_Minimum_Number_of_Taps_to_Open_to_Water_a_Garden.java
1 parent 6133bd6 commit f5b3789

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
class Solution {
2+
public int minTaps(int n, int[] ranges) {
3+
int[] nums = new int[ranges.length];
4+
5+
for (int i = 0; i < ranges.length; i++) {
6+
if (ranges[i] == 0) {
7+
continue;
8+
}
9+
10+
int left = Math.max(0, i - ranges[i]);
11+
nums[left] = Math.max(nums[left], i + ranges[i]);
12+
}
13+
14+
int i = 0, end = 0, jumps = 0, maxReach = 0;
15+
16+
while (i < nums.length && end < n) {
17+
++jumps;
18+
19+
while (i < nums.length && i <= end) {
20+
maxReach = Math.max(maxReach, nums[i]);
21+
++i;
22+
}
23+
24+
if (end == maxReach) {
25+
return -1;
26+
}
27+
28+
end = maxReach;
29+
}
30+
31+
return jumps;
32+
}
33+
}

0 commit comments

Comments
 (0)