Java实现 LeetCode 406 根据身高重建队列
2024-10-09 06:18:43
406. 根据身高重建队列
假设有打乱顺序的一群人站成一个队列。 每个人由一个整数对(h, k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h的人数。 编写一个算法来重建这个队列。
注意:
总人数少于1100人。
示例
输入:
[[7,0], [4,4], [7,1], [5,0], [6,1], [5,2]]
输出:
[[5,0], [7,0], [5,2], [6,1], [4,4], [7,1]]
class Solution {
public int[][] reconstructQueue(int[][] people) {
if (0 == people.length || 0 == people[0].length)
return new int[0][0];
//按照身高降序 K升序排序
Arrays.sort(people, new Comparator<int[]>() {
@Override
public int compare(int[] o1, int[] o2) {
return o1[0] == o2[0] ? o1[1] - o2[1] : o2[0] - o1[0];
}
});
List<int[]> list = new ArrayList<>();
//K值定义为 排在h前面且身高大于或等于h的人数
//因为从身高降序开始插入,此时所有人身高都大于等于h
//因此K值即为需要插入的位置
for (int[] i : people) {
list.add(i[1], i);
}
return list.toArray(new int[list.size()][]);
}
}
最新文章
- [算法总结]three-way partition
- 3D Banner(jQuery)
- 使用好压(HaoZip)软件打包EverEdit制作安装程序
- RedHat下Bugzilla的安装和配置
- Take advantage of “Integrated Calling” to know whom suspect talked to
- html初学者了解的笔记02
- 南邮CTF隐写之丘比龙的女神
- HTML5 Audio and JavaScript Control
- Ubuntu对FireFox安装flash插件
- 手把手教你写电商爬虫-第三课 实战尚妆网AJAX请求处理和内容提取
- 校友信息管理&;SNS互动平台之技术框架选择
- SpringMVC4+thymeleaf3的一个简单实例(篇三:页面参数获取)
- RH133读书笔记(1)-Lab 1 Managing Startup
- zTree模糊查询人员姓名:getNodesByParamFuzzy
- Java数据类型在实际开发中的应用二枚举类型
- (转)Spring事务配置的五种方式
- 2019-01-23 JavaScript实现ZLOGO: 性能改进
- Node.js实战项目学习系列(4) node 对象(global、process进程、debug调试)
- 翻译:ZooKeeper OverView
- vagrant up报错 Warning: Authentication failure. Retrying...解决方案