1
class Solution {
2
public:
3
vector<int> sortByBits(vector<int> &arr) {
4
int n = size(arr);
5
priority_queue<pair<int, int>> pq;
6

7
for (auto &x : arr) {
8
int count = 0;
9
int a = x;
10
while (a) {
11
count += a & 1;
12
a >>= 1;
13
}
14
pq.push({count, x});
15
}
16
n = n - 1;
17
while (!pq.empty()) {
18
arr[n--] = pq.top().second;
19
pq.pop();
20
}
21

22
return arr;
23
}
24
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0