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

本文共 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://mrysa.baihongyu.com/

你可能感兴趣的文章
分享一个shell脚本的坑:grep匹配+wc取值 在脚本执行后的结果与手动执行结果不一致...
查看>>
【Clojure 基本知识】 关于函数参数的各种高级用法
查看>>
Python系列文章
查看>>
顺序图【6】--☆☆
查看>>
5日均线MACD
查看>>
Docker 版本
查看>>
【ABP杂烩】面向切面编程(AOP)知识总结
查看>>
java 如何使用多线程调用类的静态方法?
查看>>
数据挖掘基本概念讲解
查看>>
(原創) C语言果然是不会死的语言 (C/C++) (C) (IC Design) (DE2) (Nios II)
查看>>
不能运行VS2005的DSL Tool例子
查看>>
OSI/RM参考模型和TCP/IP协议的关系
查看>>
Android Intent用法汇总
查看>>
Vista上运行VisualStudio2005,调试asp.net程序的怪问题
查看>>
理解HTTP幂等性
查看>>
登录服务器,首先用到的5个命令
查看>>
使用PIP扩展BTARN
查看>>
GetLastError()返回值及含义
查看>>
android UI之Shape详解_GradientDrawable
查看>>
Python sh库学习 上篇
查看>>