1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| class Solution { public int maxSatisfied(int[] customers, int[] grumpy, int minutes) { int sum = 0; for (int i = 0; i < customers.length; i++) { if (grumpy[i] == 0) { sum += customers[i]; } }
int maxSuppression = 0; int suppression = 0; int i = 0; for (int j = 0; j < customers.length; j++) { if (grumpy[j] == 1) { suppression += customers[j]; }
while (j - i + 1 > minutes) { if (grumpy[i] == 1) { suppression -= customers[i]; } i++; }
if (j - i + 1 == minutes) { maxSuppression = Math.max(maxSuppression, suppression); } }
return sum + maxSuppression; } }
|
References
1052. Grumpy Bookstore Owner