406. 根据身高重建队列
406. 根据身高重建队列 描述: 假设有打乱顺序的一群人站成一个队列。 每个人由一个整数对(h, k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h的人数。 编写一个算法来重建这个队列。 注意: 总人数少于1100人。 示例 输入: [[7,0], [4,4], [7,1], [5,0], [6,1], [5,2]] 输出: [[5,0], [7,0], [5,2], [6,1], [4,4], [7,1]] 1 解法1:120 ms 12.4 MB 2 class Solution { 3 public: 4 //对二维数据 按照k 由低到高 ,k相等 由h高 到低排序 5 static bool cmp(vector<int> &x,vector<int> &y){ 6 if(x[1]==y[1]) return x[0]>y[0]; 7 return x[1]<y[1]; 8 } 9 vector<vector<int>> reconstructQueue(vector<vector<int>>& people) { 10 /* 11 思路: 12 1:从k相等,按照 h排序 从大到小 13 2:按照k升序排列 14 3:按照k相等的时候 h从高到低;不会出现 k相等的时候,h相等 15 4:排完序,之只能出现 从people取出来的,k相等且h<ans