注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号 
x
public int minSubArrayLen(int s, int[] nums) {
int left=0;
int sum=0;
int min=Integer.MAX_VALUE;
for(int right=0;right<nums.length;right++){
sum+=nums[right];
while(sum>=s){//一但大于得到结果了,那么就先算结果,然后left++,用while loop,因为left point 可以一直往后,知道不符合结果为止
min=Math.min(min,right-left+1);
sum=sum-nums[left];
left++;//得到left的结果立马判断
}
}
if(min==Integer.MAX_VALUE)
return 0;
else
return min;
}
} |