1class Solution {2public:3#define pii pair<int, int>45vector<int> arrayRankTransform(vector<int> &arr) {6if (arr.size() == 0) return {};78priority_queue<pii, vector<pii>, greater<pii>> pq;910for (int i = 0; i < arr.size(); i++) pq.push({arr[i], i});1112int temp = pq.top().first;13int rank = 1;14while (!pq.empty()) {15pii p = pq.top();16pq.pop();17if (temp == p.first)18arr[p.second] = rank;19else {20arr[p.second] = ++rank;21temp = p.first;22}23}24return arr;25}26};