博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode 406 Queue Reconstruction by Height
阅读量:7119 次
发布时间:2019-06-28

本文共 670 字,大约阅读时间需要 2 分钟。

#LeetCode 406. Queue Reconstruction by Height

原题链接:

###题目大意:

有一个由[h,k]组成的随机的数组如下案例:

[[7,0], [4,4], [7,1], [5,0], [6,1], [5,2]]

h表示高度,k表示在此之前,大于或等于此高度的元素数量。

要求排序为符合题目的数列,上述案例结果如下所示:

[[5,0], [7,0], [5,2], [6,1], [4,4], [7,1]]

###解题思路:

很简单的排序,但是有个很精巧的机关。

首先按照高度从大到小排序,相同的高度按照位置从小到大排序

然后从第一个开始插入到一个新数组中。此时很"凑巧"的,第二个k就是应该插入的位置。因为根据之前的排序,当前,新数组的所有元素都大于等于旧数组。

###AC代码:

/**     * 406. Queue Reconstruction by Height     * @param peoples     * @return     */    public static int[][] reconstructQueue (int[][] peoples){        Arrays.parallelSort(peoples, (a, b) -> a[0] != b[0] ? b[0] - a[0] : a[1] - b[1]);        List
result = new ArrayList<>(); for(int i=0;i

转载地址:http://nzbel.baihongyu.com/

你可能感兴趣的文章