209. 长度最小的子数组
作者:互联网
力扣算法题之《209. 长度最小的子数组》
class Solution {
public int minSubArrayLen(int target, int[] nums) {
// 排除空数组影响
if(nums.length==0)return 0;
// 排除小数组影响,即数组总和小于目标值
if(Arrays.stream(nums).sum() < target)return 0;
int temp = 0;
int ans = Integer.MAX_VALUE;
int left = 0, right = 0;
// 最终状态1:右指针移动到末尾
while(right < nums.length){
temp += nums[right];
while(temp >= target){
ans = Math.min(ans, right - left +1);
temp -= nums[left++];
}// 最终状态2:temp<target,回到上一层while循环
right++;
}
return ans;
}
}
标签:right,temp,nums,209,int,数组,ans,长度 来源: https://blog.csdn.net/weixin_51735114/article/details/122025063