Minimum Operations to Halve Array Sum LeetCode solution in C++

1
class Solution {
2
public:
3
int halveArray(vector<int> &nums) {
4
priority_queue<double> pq;
5
double totalSum = 0;
6
double requiredSum = 0;
7
for (auto x : nums) {
8
totalSum += x;
9
pq.push(x);
10
}
11

12
requiredSum = totalSum / 2;
13
int minOps = 0;
14
while (totalSum > requiredSum) {
15
double currtop = pq.top();
16
pq.pop();
17
currtop = currtop / 2;
18
totalSum -= currtop;
19
pq.push(currtop);
20
minOps++;
21
}
22
return minOps;
23
}
24
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0