Minimum Operations to Halve Array Sum LeetCode solution in JavaScript

1
var halveArray = function (nums) {
2
const n = nums.length;
3
const maxHeap = new MaxPriorityQueue({ priority: (x) => x });
4

5
let startSum = 0;
6

7
for (const num of nums) {
8
maxHeap.enqueue(num);
9
startSum += num;
10
}
11

12
let currSum = startSum;
13

14
let numberOfOperations = 0;
15

16
while (currSum > startSum / 2) {
17
const biggestNum = maxHeap.dequeue().element;
18

19
const halfNum = biggestNum / 2;
20

21
numberOfOperations += 1;
22
currSum -= halfNum;
23

24
maxHeap.enqueue(halfNum);
25
}
26

27
return numberOfOperations;
28
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0