题目很有意思,(h,k)分别表示身高以及排在这个人前面并且身高大于自己的人数,然后重新建立这个队列
说实话,刚刚看到这道题的我有点懵,花了蛮久才搞清楚题目的意图,是要按照身高以及那个序号k,重新建立这个队列,有种想法,身高重的应该放在前面,顺序不会轻易改变,然后,同等身高的话,就去看顺序号k,应该就ok了。
渣渣的我,其实没有做出来这道题,看到大佬的答案,一开始也是看不懂,经过反复的推敲打磨,才真正搞明白,下面就由我给大家剖析一下,我觉得很有趣的一个大佬的答案吧!
二话不说,先看代码:
public int[][] reconstructQueue(int[][] people) {
if (people == null || people.length == 0 || people[0].length == 0) {
return new int[0][0];
}
Arrays.sort(people, new Comparator<int[]>() {
public int compare(int[] o1, int[] o2