/**
* @param {number[][]} people
* @return {number[][]}
*/
// 桶排序的思想,以及在评论区看到一句很有道理的概括 (矮子插队无所谓,反正高个子看不到), 思路就是先给高个子排队,然后矮个子插队
const reconstructQueue1 = function (people) {
const len = people.length;
let peopleSort = [], res = [];
for (let i = 0; i < len; ++i) {
if (peopleSort[people[i][0]]) {
peopleSort[people[i][0]].push(people[i][1]);
} else {
peopleSort[people[i][0]] = [people[i][1]];
}
}
let peopleSortLen = peopleSort.length, i = 0;
while (peopleSortLen-- > 0) {
if (peopleSort[peopleSortLen]) {
peopleSort[peopleSortLen].sort((a, b) => a - b)
let peopleSortValueLen = peopleSort[peopleSortLen].length;
for (let j = 0; j < peopleSortValueLen; ++j) {
res.splice(peopleSort[peopleSortLen][j], 0, [peopleSortLen, peopleSort[peopleSortLen][j]]);
++i;
}
}
}
return res;
console.log(res);
console.log(peopleSort);
};