题目链接:209. 长度最小的子数组。
这里ans来统计最小长度,所以初始值设置为INT_MAX.最后如果ans结果还是INT_MAX时,说明无此数组。
class Solution {
public:int minSubArrayLen(int target, vector<int>& nums) {if (nums.size() == 0){return 0;}int start = 0;int end = 0;int sum = nums[start];int ans = INT_MAX;while (start != nums.size() && end != nums.size()){if (sum < target){end++;if(end!=nums.size()) sum += nums[end];}else{ans = min(ans, end - start + 1);sum -= nums[start];start++;}}if(ans == INT_MAX){return 0;}return ans;}
};