Minimum Size Subarray Sum
Question (LC.209)
Example
I: nums = [2,3,1,2,4,3], s = 7
O: 7 because [4,3]Analysis
Code
public int minSubArrayLen(int s, int[] nums) {
if (nums == null || nums.length == 0) {
return 0;
}
int currentSum = 0;
int minLength = Integer.MAX_VALUE;
// from this number the smallest window
for (int i = 0; i < nums.length; i++) {
currentSum = 0;
for (int j = i; j < nums.length; j++) {
currentSum += nums[j];
if (currentSum >= s) {
minLength = Math.min(minLength, j - i + 1);
break;
}
}
}
return (minLength == Integer.MAX_VALUE) ? 0 : minLength;
}Optimization
Optimized Code
Last updated