Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int minSubArrayLen(int target, vector<int>& nums) {
- int n = nums.size();
- for(int i = 0; i < n; i++)
- {
- if(nums[i] >= target) return 1;
- }
- for(int i = 1; i < n; i++)
- {
- nums[i] += nums[i - 1];
- }
- int low = 0;
- int high = 1;
- int minLength = (int)1e9;
- while(high < n)
- {
- int sum = ((nums[high]) - (low == 0 ? 0 : nums[low - 1]));
- if(sum < target)
- {
- high++;
- }
- else
- {
- minLength = min(minLength, (high - low + 1));
- low++;
- }
- }
- // 2 5 6 8 12 15
- return minLength == 1e9 ? 0 : minLength;
- }
Advertisement
Add Comment
Please, Sign In to add comment