力扣209. 长度最小的子数组

 

题目:【https://leetcode.cn/problems/minimum-size-subarray-sum/solutions/305704/chang-du-zui-xiao-de-zi-shu-zu-by-leetcode-solutio/?envType=study-plan-v2&envId=top-interview-150

滑动窗口解法,正常思路想会不自觉完成这种解法

 1 class Solution {
 2 public:
 3     int minSubArrayLen(int target, vector<int>& nums) {
 4         int s = 0;
 5         int sum = 0;
 6         int ret = nums.size() + 1;
 7         for (int i = 0; i < nums.size(); ++i) {
 8             sum += nums[i];
 9             while (sum >= target) {
10                 ret = min(ret, i - s + 1);
11                 sum -= nums[s];
12                 s++;
13             }
14         }
15         return ret > nums.size() ? 0 : ret;
16     }
17 };

 

posted @ 2025-05-12 13:38  J&YANG  阅读(7)  评论(0)    收藏  举报