1.题解 双指针
class Solution {
public int minSubArrayLen(int s, int[] nums) {
int sum=0,start=0,end=0,max=Integer.MAX_VALUE;
while(end<nums.length){
sum+=nums[end];
while(sum>=s){
max=Math.min(max,end-start+1);
sum-=nums[start++];
}
end++;
}
if(max==Integer.MAX_VALUE) return 0;
return max;
}
}
这个方法设置双指针,start和end,不断的剔除这个子数组中可以用不到的start[i]