llllmz

导航

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;
}

 

posted on 2024-03-18 17:23  神奇的萝卜丝  阅读(12)  评论(0)    收藏  举报