力扣209. 长度最小的子数组
给定一个含有 n 个正整数的数组和一个正整数 target 。
找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。
尺取法 尺取_yanhua_tj的博客-CSDN博客 图片截自别人博客

class Solution { public: int minSubArrayLen(int target, vector<int>& nums) { int l=0,r=0,len=nums.size(),now=0,ans=INT32_MAX; for(int i=0;i<nums.size();++i){ now+=nums[i]; while(now>=target){ ans=min(ans,i+1-l); //int res=i+1-l; //ans= ans>res?res:ans; now-=nums[l++]; } } return ans == INT32_MAX ? 0 : ans; } };

浙公网安备 33010602011771号