209长度最小的子数组
class Solution {
// 滑动窗口
public int minSubArrayLen(int s, int[] nums) { //int s 目标值; int[] nums 输入的数组
int left = 0;
int sum = 0;
int result = Integer.MAX_VALUE; //初始化为一个很大的数
for (int right = 0; right < nums.length; right++) {
sum += nums[right];
while (sum >= s) {
result = Math.min(result, right - left + 1);
// 更新最小子数组长度
sum -= nums[left++]; // 缩小窗口,移除左边的元素
}
}
return result == Integer.MAX_VALUE ? 0 : result;
}
}