学习到了sort的新排序法
class Solution {
public:
vector<int> relativeSortArray(vector<int>& arr1, vector<int>& arr2) {
map<int,int>mp;
for(int i = 0;i<arr2.size();i++)
{
mp[arr2[i]] = i;
}
for(int i = 0;i<arr1.size();i++)
{
if(!mp.count(arr1[i])) mp[arr1[i]] = -1;
}
sort(arr1.begin(),arr1.end(),[&mp,&arr1](const int a,const int b)
{
if(mp[a] == -1 && mp[b] == -1) return a<b;
if(mp[a] != -1 && mp[b]!=-1) return mp[a]<mp[b];
return mp[a]>mp[b];
}
);
return arr1;
}
};