Advertisement
Guest User

Untitled

a guest
Apr 7th, 2020
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.82 KB | None | 0 0
  1.     private static int getMinBox(int[] nums, int k) {
  2.         final int n = nums.length;
  3.         int sum = 0;
  4.         int min1 = Integer.MAX_VALUE, min2 = Integer.MAX_VALUE;
  5.         for (int r = 0, l = 0; r < n; r++) {
  6.             int rnum = nums[r];
  7.             sum += rnum;
  8.             while (sum == k) {
  9.                 int len = r - l + 1;
  10.                 if (len < min1) {
  11.                     min2 = min1;
  12.                     min1 = len;
  13.                 } else if (len < min2) {
  14.                     min2 = len;
  15.                 }
  16.                 int lnum = nums[l];
  17.                 sum -= lnum;
  18.                 if (sum < k) {
  19.                     l = r+1;
  20.                     sum = 0;
  21.                     break;
  22.                 }
  23.                 l++;
  24.             }
  25.         }
  26.         return min1 + min2;
  27.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement