1
var minimumRefill = function (plants, capacityA, capacityB) {
2
const n = plants.length;
3

4
let left = 0;
5
let right = n - 1;
6

7
let remA = capacityA;
8
let remB = capacityB;
9

10
let refills = 0;
11

12
while (left < right) {
13
const leftAmount = plants[left++];
14
const rightAmount = plants[right--];
15

16
if (leftAmount > remA) {
17
++refills;
18
remA = capacityA;
19
}
20
remA -= leftAmount;
21

22
if (rightAmount > remB) {
23
++refills;
24
remB = capacityB;
25
}
26
remB -= rightAmount;
27
}
28

29
if (left === right) {
30
const midAmount = plants[left];
31

32
if (remB > remA) {
33
if (remB < midAmount) ++refills;
34
} else {
35
if (remA < midAmount) ++refills;
36
}
37
}
38

39
return refills;
40
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0