LeetCode 209. 【Java】209. Minimum Size Subarray Sum
原题链接
中等
作者:
tt2767
,
2020-04-18 11:17:58
,
所有人可见
,
阅读 821
/**
1. 范围>=s, 双指针去找值
*/
class Solution {
public int minSubArrayLen(int s, int[] nums) {
return doublePoint(s, nums);
}
public int doublePoint(int s, int[] nums){
int sum = 0, left = 0, right = 0, n = nums.length, result = Integer.MAX_VALUE;
while (left < n && right < n){
while (right < n && sum < s){
sum += nums[right++];
}
while (left < n && sum >= s){
result = Math.min(result, right - left);
sum -= nums[left++];
}
}
if (sum >= s) result = Math.min(result, right - left);
return result == Integer.MAX_VALUE ? 0 : result;
}
}