php 网站制作的意义,WordPress调用画廊,网页制作模板登录,wordpress置顶排序根据身高重建队列 假设有打乱顺序的一群人站成一个队列#xff0c;数组 people 表示队列中一些人的属性#xff08;不一定按顺序#xff09;。每个 people[i] [hi, ki] 表示第 i 个人的身高为 hi #xff0c;前面 正好 有 ki 个身高大于或等于 hi 的人。
请你重新构造并返…根据身高重建队列 假设有打乱顺序的一群人站成一个队列数组 people 表示队列中一些人的属性不一定按顺序。每个 people[i] [hi, ki] 表示第 i 个人的身高为 hi 前面 正好 有 ki 个身高大于或等于 hi 的人。
请你重新构造并返回输入数组 people 所表示的队列。返回的队列应该格式化为数组 queue 其中 queue[j] [hj, kj] 是队列中第 j 个人的属性queue[0] 是排在队列前面的人。
class Solution {public int[][] reconstructQueue(int[][] people) {//先进行按照身高降序排列身高相等则把k小的排在前面Arrays.sort(people, (a, b) - {if (a[0] b[0]) return a[1] - b[1];//身高相等则按照k升序的方式进行排列注意a - b 代表正序从小到大return b[0] - a[0];//否则按照身高h的降序进行排列});//需要将重构后的people重新进行定位需要按照k值确认其需要插入的位置//重新构造的结果有顺序应该用链表进行存储这样插值的过程时间复杂度较低LinkedListint[] que new LinkedList();//泛型的确定为什么用int[]代表表里的是外层元素而内部不用关心拿来用即可//接下来遍历按照身高进行排序后的结果for (int[] p : people) {que.add(p[1], p);//插入到链表的对应的索引}return que.toArray(new int[people.length] []);//将链表转化为数组}
}