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

本文共 726 字,大约阅读时间需要 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

转载于:https://juejin.im/post/5a31e9f4f265da432c23dcf6

你可能感兴趣的文章
女友眼中的IT男
查看>>
Excel连接
查看>>
java基础-多线程学习
查看>>
WPF打印原理,自定义打印
查看>>
HTML5 5
查看>>
箭头css
查看>>
Python入门,以及简单爬取网页文本内容
查看>>
顺丰科技笔试回忆
查看>>
excel技巧
查看>>
通用防SQL注入漏洞程序(Global.asax方式)
查看>>
服务器进程为何通常fork()两次
查看>>
python中的logger模块
查看>>
9.3、理解作用域与全局变量
查看>>
ios序列化最终方案
查看>>
HttpMessageConverter 专题
查看>>
oracle系统包——dbms_random用法及order by 小结(转)
查看>>
android布局基础及范例:人人android九宫格布局
查看>>
Entity Framework数据库初始化四种策略
查看>>
hdu5033 Building (单调栈+)
查看>>
IIS服务器如何抗住高并发的客户端访问
查看>>