一:题目:
给定一个含有 n
个正整数的数组和一个正整数 target
。
找出该数组中满足其总和大于等于 target
的长度最小的
子数组
[numsl, numsl+1, ..., numsr-1, numsr]
,并返回其长度。如果不存在符合条件的子数组,返回 0
二:代码:
class Solution {
public:
int minSubArrayLen(int target, vector<int>& nums) {
int result=INT32_MAX;
int sum=0;
int length=0;
int i=0;
for(int j=0;j<nums.size();j++){
sum+=nums[j];
while(sum>=target){
length=j-i+1;
result=result<length?result:length;
sum-=nums[i++];
}
}
return result==INT32_MAX?0:result;
}
};