哈希表处理,千万不要使用unordered_map否则测试点过不去。unordered故名思意的意思就是无序表。所以直接使用map就可以了
class Solution {
public:
map<int,int> m;//不能用无序表,否则被排序了
vector<int> ans;
//现在是不存在的数字也要记录下来
vector<int> relativeSortArray(vector<int>& arr1, vector<int>& arr2) {
for(auto c:arr1) m[c]++;
for(auto a:arr2){
while(m[a]--) ans.push_back(a);
m.erase(a);
}
//现在处理没有出现的数字
for(auto it=m.begin();it!=m.end();it++){
while((it->second)--) ans.push_back(it->first);
}
return ans;
}
};