https://leetcode.cn/problems/minimum-size-subarray-sum/
滑动窗口,顾名思义,就是要维持一个窗口的滑动。而此事主要难点就是:根据情况判断窗口滑动。对于力扣这道题,话不多说,上代码!
start为当前子串的起始处,down为当前子串的尾部。当找到大于等与target的字串时,记录长度为len——now,与长度len比较(保持len为当前最小值)
class Solution {
public:
int minSubArrayLen(int target, vector<int>& nums)
{
int start=0,down=0,sum=0,len_now=0,len=INT32_MAX;
for( ;down<nums.size();down++)
{
sum+=nums[down];
while(sum>=target)
{
len_now=down-start+1;
sum-=nums[start++];
len=min(len,len_now);
}
}
return len==INT32_MAX?0:len;
}
};