JavaScript中按高度进行的队列重构
假设您有排队的人的随机列表。每个人都用一对整数(h,k)描述,其中h是人的身高,k是在此人面前的身高大于或等于h的人数。
我们必须编写一种算法来重建队列。
注-人数少于1,100。
例如-如果输入队列是-
const arr = [[7,0], [4,4], [7,1], [5,0], [6,1], [5,2]];
那么输出队列应该是-
const output = [[5,0], [7,0], [5,2], [6,1], [4,4], [7,1]];
示例
为此的代码将是-
const arr = [[7,0], [4,4], [7,1], [5,0], [6,1], [5,2]];
const reconstructQueue = data => {
const result = [];
const sorter = (a, b) => {
return b[0] - a[0] || a[1] - a[1];
};
data.sort(sorter);
for (let i = 0; i < data.length; i++) {
result.splice(data[i][1], 0, data[i]);
};
return result;
};
console.log(reconstructQueue(arr));输出结果
控制台中的输出将是-
[ [ 5, 0 ], [ 7, 0 ], [ 5, 2 ], [ 6, 1 ], [ 4, 4 ], [ 7, 1 ] ]
热门推荐
10 祝女儿简短祝福语大全
11 大学新年祝福语简短创意
12 元旦适合的祝福语简短
13 朋友出远门祝福语简短
14 初六简短的祝福语
15 祝男孩生日祝福语简短
16 同事调离的祝福语简短
17 拜年红包的祝福语简短
18 妈妈生日祝福语简短励志