首页 > 代码库 > LeetCode 406. Queue Reconstruction by Height
LeetCode 406. Queue Reconstruction by Height
转载请注明出处:http://www.cnblogs.com/liangyongrui/p/6351533.html
贪心,具体见代码。
注释写的很详细。
public class Solution { public int[][] reconstructQueue(int[][] people) { Arrays.sort(people, new Comparator<int[]>() { @Override public int compare(int[] o1, int[] o2) { //不同的时候按照第一维降序,相同的时候按照第二维升序 return o1[0] != o2[0] ? -o1[0] + o2[0] : o1[1] - o2[1]; } }); //把排好序的数组插入链表中,根据第二维的下标插入即可, //因为排好序了,如果较小的元素插入的话,并不会影响最终的结果, //而前面已经插入的元素都是大于或等于将要插入的元素的, //所以直接按照第二维的下标插入是正确的。 List<int[]> res = new LinkedList<>(); for (int[] cur : people) { res.add(cur[1], cur); } return res.toArray(new int[people.length][]); } }
LeetCode 406. Queue Reconstruction by Height
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。