Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private static int getMinBox(int[] nums, int k) {
- final int n = nums.length;
- int sum = 0;
- int min1 = Integer.MAX_VALUE, min2 = Integer.MAX_VALUE;
- for (int r = 0, l = 0; r < n; r++) {
- int rnum = nums[r];
- sum += rnum;
- while (sum == k) {
- int len = r - l + 1;
- if (len < min1) {
- min2 = min1;
- min1 = len;
- } else if (len < min2) {
- min2 = len;
- }
- int lnum = nums[l];
- sum -= lnum;
- if (sum < k) {
- l = r+1;
- sum = 0;
- break;
- }
- l++;
- }
- }
- return min1 + min2;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement