406. Queue Reconstruction by Height
让身高按照降序排列,高的在前面,同身高的情况下让要求前面人数人少的在前面
import java.util.List;
import java.util.Arrays;
import java.util.Comparator;
import java.util.LinkedList;
public class LeetCode406 {
public int[][] reconstructQueue(int[][] people) {
if(people.length == 0) return people;
Arrays.sort(people, new Comparator<int[]>() {
public int compare(int[] o1, int[] o2){
return o1[0] == o2[0]? o1[1] - o2[1] : o2[0] - o1[0];
}
});
List<int[]> list = new LinkedList<>();
for(int[] cur : people){
list.add(cur[1], cur); //list.add(index,element)将element增加在指定位置index处
}
return list.toArray(new int[people.length][2]);
}
}
本文介绍了一种算法,该算法能够根据人们的身高及其希望站在前面的人数来重建队列。通过实现一个Java程序,首先将人员按照身高降序排序,在身高相同的情况下再根据前面希望的人数升序排列,最后按照调整后的顺序重新构建队列。
373

被折叠的 条评论
为什么被折叠?



