class Solution {
public int minSubArrayLen(int target, int[] nums) {
int left = 0;
int sum = 0;
int len = Integer.MAX_VALUE;
for(int right = 0 ; right < nums.length ; right++){
sum = sum + nums[right];
while (sum >= target) {
len = Math.min(right - left + 1, len);
sum -= nums[left++];
}
}
return len == Integer.MAX_VALUE ? 0 : len;
}
}
滑动窗口,进行遍历,注意遍历到最后,一旦大于目标值,左边移动一位。