C++版:
class Solution {
public:
static bool cmp(pair<int,int> A, pair<int,int> B)
{
if(A.first!=B.first)
return A.first>B.first;
else
return A.second<B.second;
}
vector<pair<int, int>> reconstructQueue(vector<pair<int, int>>& people) {
sort(people.begin(),people.end(),cmp);
vector<pair<int,int>> ans;
for(auto item : people)
{
ans.insert(ans.begin()+item.second,item);
}
return ans;
}
};
python3版:
class Solution:
def reconstructQueue(self, people):
"""
:type people: List[List[int]]
:rtype: List[List[int]]
"""
def cmpa(A):
return -A[0],A[1]
people.sort(key=cmpa)
ans = []
for item in people:
ans.insert(item[1],item)
return ans