Leetcode——209. 长度最小的子数组
参考视频:左程云--算法讲解049【必备】滑动窗口技巧与相关题目
很简单的一道滑动窗口题。只需要维护窗口内的总和大小,当进入的数字使总和大于目标值,企图从窗口左侧弹出数字,以使总和大于目标值的同时窗口长度最小。
class Solution {
public:int minSubArrayLen(int target, vector<int>& nums) {int l = 0, r = 0;int sum = 0;int ans = INT_MAX;for(r = 0; r < nums.size(); r++){sum += nums[r];while(sum - nums[l] >= target){sum -= nums[l++];}if(sum >= target){ans = min(ans, r - l + 1);}}return ans == INT_MAX ? 0 : ans;}
};