Skip to content

Commit 3f36ab4

Browse files
refactor 209
1 parent f38e2c2 commit 3f36ab4

File tree

1 file changed

+15
-14
lines changed
  • src/main/java/com/fishercoder/solutions

1 file changed

+15
-14
lines changed

src/main/java/com/fishercoder/solutions/_209.java

+15-14
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,24 @@
33
public class _209 {
44

55
public static class Solution1 {
6-
public int minSubArrayLen(int s, int[] nums) {
7-
if (nums == null || nums.length == 0) {
8-
return 0;
9-
}
10-
int i = 0;
11-
int j = 0;
12-
int min = Integer.MAX_VALUE;
6+
/**
7+
* A classic sliding window problem/solution.
8+
*/
9+
public int minSubArrayLen(int target, int[] nums) {
10+
int left = 0;
11+
int right = 0;
1312
int sum = 0;
14-
while (j < nums.length) {
15-
sum += nums[j++];
16-
17-
while (sum >= s) {
18-
min = Math.min(min, j - i);
19-
sum -= nums[i++];
13+
int ans = Integer.MAX_VALUE;
14+
while (right < nums.length) {
15+
sum += nums[right];
16+
while (sum >= target) {
17+
ans = Math.min(ans, right - left + 1);
18+
sum -= nums[left];
19+
left++;
2020
}
21+
right++;
2122
}
22-
return min == Integer.MAX_VALUE ? 0 : min;
23+
return ans == Integer.MAX_VALUE ? 0 : ans;
2324
}
2425
}
2526
}

0 commit comments

Comments
 (0)