LeetCode(1331)数组序号转换
利用unordered_map<int,int>hashmap可以将查找的时间缩小至O(1)
class Solution { public: vector<int> arrayRankTransform(vector<int>& arr) { int n = arr.size(),MIN,MINP,serial = 1,count = 1; vector<int>v(n); if(n==0)return v; v = arr; unordered_map<int,int>hashmap; sort(arr.begin(),arr.end()); for(int i=0;i<n;i++){ if(i>0&&arr[i]!=arr[i-1])count++; hashmap[arr[i]] = count; } for(int i=0;i<n;i++){ v[i] = hashmap[v[i]]; } return v; } };

浙公网安备 33010602011771号