滑动窗口代码实现
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)
原文地址:https://blog.csdn.net/weixin_54174344/article/details/140858537
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!