209. Minimum Size Subarray Sum
アプローチ
Sliding window(?) Two Pointer
class Solution {
public int minSubArrayLen(int target, int[] nums) {
int start = 0;
int end = 0;
int sum = 0;
int result = Integer.MAX_VALUE;
while (start < nums.length) {
sum += nums[start++]; // 合算
while (target <= sum) { // 基準を超過した場合、範囲を小さくする
result = Math.min(start - end, result);
sum -= nums[end++]; // マイナス計算
}
}
return result == Integer.MAX_VALUE ? 0 : result;
}
}