1
class Solution {
2
public:
3
#define pii pair<int, int>
4

5
vector<int> arrayRankTransform(vector<int> &arr) {
6
if (arr.size() == 0) return {};
7

8
priority_queue<pii, vector<pii>, greater<pii>> pq;
9

10
for (int i = 0; i < arr.size(); i++) pq.push({arr[i], i});
11

12
int temp = pq.top().first;
13
int rank = 1;
14
while (!pq.empty()) {
15
pii p = pq.top();
16
pq.pop();
17
if (temp == p.first)
18
arr[p.second] = rank;
19
else {
20
arr[p.second] = ++rank;
21
temp = p.first;
22
}
23
}
24
return arr;
25
}
26
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0