public int minSubArrayLen(int target, int[] nums) {
int len = nums.length;
int res = len + 1;//最大是len,如果最后res结果还是n+1说明没有答案返回0
int sum=0;
int left=0;
for(int right=0; right<len; right++){
sum+=nums[right];
while(sum>=target){//不需要判断right>=left,nums数组和target都是正整数
res = Integer.min(res,right-left+1);
sum-=nums[left];
left+=1;
}
}
return res>len?0:res;
}
思路:right没有满足条件就移动,满足条件后left移动、
时间复杂度O(n)