1、给定一个含有 n 个正整数的数组和一个正整数 target 。
找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。
用 j 一直往后遍历,当满足一定条件时再用 i循环来找到要求的最小长度。
class Solution { public: int minSubArrayLen(int target, vector<int>& nums) { int i=0,j=0,len=nums.size(),sum=0,ans=0x3f3f3f3f; for(j=0;j<len;j++){ sum+=nums[j]; while(sum>=target){ ans=min(ans,j-i+1); sum-=nums[i]; i++; } } if(ans==0x3f3f3f3f){ return 0; } return ans; } };
2、
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/minimum-size-subarray-sum