首页 > 代码库 > 209. Minimum Size Subarray Sum
209. Minimum Size Subarray Sum
Given an array of n positive integers and a positive integer s, find the minimal length of a subarray of which the sum ≥ s. If there isn‘t one, return 0 instead.
For example, given the array [2,3,1,2,4,3]
and s = 7
,
the subarray [4,3]
has the minimal length under the problem constraint.
思路:经典的滑动窗口。右指针向右移动,如果和大于sum,记录size,比较是否存入min。然后将左指针右移,继续判断。
public class Solution { public int minSubArrayLen(int s, int[] nums) { if(nums.length==0) { return 0; } int i=0,j=0,sum=0; int min=Integer.MAX_VALUE; while(j<nums.length) { sum+=nums[j]; while(sum>=s) { min=Math.min(min,j-i+1); sum-=nums[i]; i++; } j++; } if(min==Integer.MAX_VALUE) { return 0; } return min; }}
209. Minimum Size Subarray Sum
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。