209. 长度最小的子数组c
int minSubArrayLen(int target, int* nums, int numsSize) {
int head=0,tail=0,sum=nums[0];
long min=LONG_MAX;
while(tail<numsSize){
if(sum>=target){
if(tail-head+1 < min) min=tail-head+1;
sum-=nums[head];
head++;
}else{
tail++;
if(tail<numsSize) sum+=nums[tail];
}
}
if(min==LONG_MAX) return 0;
return min;
}
浙公网安备 33010602011771号