第四十天:力扣第406题,根据身高重建队列
地址:leetcode-cn.com/problems/qu…
思路:将people按身高从大到小排序,如果身高一样则将前面高于自己人数小的人放在前面,挨个根据前面高于自己人数插入到res里,因为people已按照身高排序,所以某个人被插入到res里时,所有比他高的都已经在res里了,而身高比他矮的人怎样插入到res里都不影响前面高于他的人数。
var reconstructQueue = function(people) {
people.sort((a,b) => {
if(a[0] !== b[0]) {
return b[0] - a[0];
} else {
return a[1] - b[1];
}
})
let res = [];
for(let i = 0;i < people.length; i++)
{
res.splice(people[i][1],0,people[i]);
}
return res;
};
执行用时:124 ms, 在所有 JavaScript 提交中击败了38.80%的用户
内存消耗:42.3 MB, 在所有 JavaScript 提交中击败了64.95%的用户