滑动窗口的解法:
1.用两个指针来进行,先用终止指针来进行寻找符合条件的值,找到了之后移动起始指针来进行寻找最小的子数组长度。
class Solution {
public int minSubArrayLen(int target, int[] nums) {
//记录子数组和大于target时声明的变量
int sum=0;
//用于记录最小的连续子数组的长度
int o=Integer.MAX_VALUE;
//起始指针
int j=0;
//遍历到连续的子数组符合条件时
for(int i=0;i<nums.length;i++){
sum+=nums[i];
//进行进一步的搜索合适的条件
while(sum>=target){
if(o>i-j+1){o=i-j+1;}
sum-=nums[j];
j++;
}
}
//如果没有符合条件的就赋值为o
if (o==Integer.MAX_VALUE){
o=0;
}
return o;
}
}