虽然是在牛客网上面但是还是可以发leetcode的题: 题目链接:https://leetcode.cn/problems/minimum-size-subarray-sum/ 直接上AC代码:

public:
    int minSubArrayLen(int target, vector<int>& nums) {
        //find PreSum Array?
        int len=nums.size();
        int PreSum[len+1];
        PreSum[0]=0;
        for(int i=1;i<=len;i++){
            PreSum[i]=PreSum[i-1]+nums[i-1];
        }
        if(PreSum[len]<target){
            return 0;
        }
        if(PreSum[len]==target){
            return len;
        }
        int right=0;
        int left=0;
        int minLen=0;
        while(right<=len){
            if(PreSum[right]<target){
                right++;
                continue;
            }
            while(PreSum[right]-PreSum[left]>=target){
                if(minLen==0||right-left<minLen){
                    minLen=right-left;
                }
                left++;
            }
            right++;
        }
        return minLen;
    }
};