209.长度最小的子数组

时间:2024-10-10 07:37:40

题目:209. 长度最小的子数组 - 力扣(LeetCode)

思路:滑动串口,以j作为终止位置的移动指针,要记住的是最后要比较result更新了没,可能所有数组的数加起来还没有要求大,就要输出0

代码:

class Solution {
public:
    int minSubArrayLen(int target, vector<int>& nums) {
       int result = 100002;
       int i = 0; int length = 0; int sum = 0;
       for(int j = 0; j < nums.size(); j++ )
       {
           sum+=nums[j];
           while(sum >= target)
           {
              length = j - i + 1 ;
              result = min(length,result);
              sum -= nums[i];
              i++;
           }
       }
       return result==100002?0:result;
    }
};