力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
给定一个含有
n个正整数的数组和一个正整数target。找出该数组中满足其总和大于等于
target的长度最小的 连续子数组[numsl, numsl+1, ..., numsr-1, numsr],并返回其长度。如果不存在符合条件的子数组,返回0。
题解:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
代码如下:
- class Solution {
- public int minSubArrayLen(int target, int[] nums) {
- int n = nums.length;
- if(n == 0){
- return 0;
- }
- int left = 0, right = 0;
- int res = Integer.MAX_VALUE;
- int sum = 0;
- while(right < n){
- sum += nums[right];
- while(sum >= target){
- res = Math.min(res, right - left + 1);
- sum -= nums[left];
- left++;
- }
- right++;
- }
- return res == Integer.MAX_VALUE ? 0 : res;
- }
- }