这题的关键点在于对数组的重排序方法,高度先由高到低排列不会影响第二个参数,因为list.add的方法在指定index后面插入,因此对于同高的人来说需要对第二个参数由低到高排,具体代码如下

 public class Solution {
public int[][] reconstructQueue(int[][] people) {
Arrays.sort(people, new Comparator<int[]>() {
public int compare(int[] o1, int[] o2) {
return o1[0] == o2[0]? o1[1] - o2[1] : o2[0] - o1[0];
}
});
List<int[]> pList = new ArrayList<int[]>();
for (int i = 0; i < people.length; i++) {
pList.add(people[i][1], new int[]{people[i][0], people[i][1]});
}
int[][] ans = new int[people.length][2];
for (int i = 0; i < pList.size(); i++) {
ans[i] = pList.get(i);
}
return ans;
}
}

int[][] ans = (int[][])pList.toArray();会报错,只能遍历赋值了

最新文章

  1. 【2016-10-27】【坚持学习】【Day14】【VS 配置管理器 AssemblyInfo 】
  2. npm相关
  3. 【Android】不依赖焦点和选中的TextView跑马灯
  4. Java系列笔记(3) - Java 内存区域和GC机制
  5. spark调试
  6. Linux NFS 介绍
  7. java 面向对象编程 第20章 XML技术解析
  8. 2016年11月3日JS脚本简介数据类型: 1.整型:int 2.小数类型: float(单精度) double(双精度) decimal () 3.字符类型: chr 4.字符串类型:sting 5.日期时间:datetime 6.布尔型数据:bool 7.对象类型:object 8.二进制:binary 语言类型: 1.强类型语言:c++ c c# java 2.弱类型语
  9. 黄聪:wordpress如何扩展TinyMCE编辑器,添加自定义按钮及功能
  10. Android IOS WebRTC 音视频开发总结(十八)-- 手机适配
  11. C/C++随机数rand()和种子函数srand()
  12. 关于ThinkPHP控制器的方法失效的问题
  13. linux 终止用户会话
  14. css中字符换行的一些问题
  15. linux操作系统基础篇(四)
  16. yii2 redirect重定向
  17. Merging one UE4 project into another.
  18. 设计模式之享元模式(Flyweight)
  19. 强大的Android基地 论坛
  20. Redhat 5.7 安装 glibc debuginfo ,终于成功。

热门文章

  1. Javascript/jQuery根据页面上表格创建新汇总表格
  2. 安装dede显示dir的解决办法
  3. 解决使用osgModeling的Loft生成管子时的bug
  4. linux install StarDict
  5. Struts2基础数据校验和框架校验
  6. Siteserver-stl:searchOutput(搜索结果)自定义显示样式
  7. 错误信息:attempt to create saveOrUpdate event with null entity
  8. java list去重
  9. jackson-mapper使用工具类
  10. 转 Netflix OSS、Spring Cloud还是Kubernetes? 都要吧!