Minimum Operations to Halve Array Sum LeetCode solution in JavaScript
1var halveArray = function (nums) {2const n = nums.length;3const maxHeap = new MaxPriorityQueue({ priority: (x) => x });45let startSum = 0;67for (const num of nums) {8maxHeap.enqueue(num);9startSum += num;10}1112let currSum = startSum;1314let numberOfOperations = 0;1516while (currSum > startSum / 2) {17const biggestNum = maxHeap.dequeue().element;1819const halfNum = biggestNum / 2;2021numberOfOperations += 1;22currSum -= halfNum;2324maxHeap.enqueue(halfNum);25}2627return numberOfOperations;28};