题目链接:https://leetcode-cn.com/problems/minimum-size-subarray-sum/
题目如下:
class Solution {
public int minSubArrayLen(int target, int[] nums) {
int l=0,r=-1;//nums[l...r]为当前的滑动窗口
int sum=0,minlen=nums.length+1;//以防所有元素都是满足条件的值
//使用双指针滑动窗口
//1、只要右下标不超限,就把右边的值放入sum;否则,左下标右移并减去左边的值
//2、如果满足了条件,则需要判断最小值,直到最后作为返回值
while(l<nums.length){
if(r+1<nums.length&&sum<target) sum=sum+nums[++r];
else sum=sum-nums[l++];
if(sum>=target) minlen=Math.min(minlen,r-l+1);
}
if(minlen==nums.length+1) return 0;//说明不存在满足题意的结果
return minlen;
}
}