406. Queue Reconstruction by Height
来源:互联网 发布:淘宝二次审核 编辑:程序博客网 时间:2024/06/03 16:29
Suppose you have a random list of people standing in a queue. Each person is described by a pair of integers (h, k)
, where h
is the height of the person and k
is the number of people in front of this person who have a height greater than or equal to h
. Write an algorithm to reconstruct the queue.
Note:
The number of people is less than 1,100.
Example
Input:[[7,0], [4,4], [7,1], [5,0], [6,1], [5,2]]Output:[[5,0], [7,0], [5,2], [6,1], [4,4], [7,1]]
Subscribe to see which companies asked this question.
public class Solution { public int[][] reconstructQueue(int[][] people) { if(people.length ==0||people[0].length ==0)return people; for (int i = 1; i < people.length; ++i) {int[] temp = people[i];int j = i;for (; j > 0 && people[j - 1][1] > temp[1]; --j)people[j] = people[j - 1];for (; j > 0 && people[j - 1][0] > temp[0] && people[j - 1][1] == temp[1]; --j)people[j] = people[j - 1];people[j] = temp;}List<int[]> data = new ArrayList<>();data.add(people[0]);for (int i = 1; i < people.length; ++i) {int[] temp = people[i];int k = temp[0];int n = temp[1];boolean flag = true;for (int j = 0; j < data.size(); ++j) {int[] cur = data.get(j);if (cur[0] >= k && n == 0) {data.add(j, temp);flag = false;break;} else if (cur[0] >= k && n > 0)n--;}if (flag)data.add(temp);}for (int i = 0; i < people.length; ++i)people[i] = data.get(i);return people; }}
0 0
- 406. Queue Reconstruction by Height
- 406. Queue Reconstruction by Height
- 406. Queue Reconstruction by Height
- 406. Queue Reconstruction by Height
- 406. Queue Reconstruction by Height
- 406. Queue Reconstruction by Height
- 406. Queue Reconstruction by Height
- 406. Queue Reconstruction by Height
- 406. Queue Reconstruction by Height
- 406. Queue Reconstruction by Height
- 406. Queue Reconstruction by Height
- 406. Queue Reconstruction by Height
- 406. Queue Reconstruction by Height
- 406. Queue Reconstruction by Height
- 406. Queue Reconstruction by Height
- 406. Queue Reconstruction by Height
- 406. Queue Reconstruction by Height
- 406. Queue Reconstruction by Height
- nyistoj_表达式求值
- @SuppressWarnings注解
- 不正经运维狗的文档13
- leetcode 535. Encode and Decode TinyURL(长短网址互译)
- jvm 老年代新生代
- 406. Queue Reconstruction by Height
- DNN-HMM 中 DNN 与 HMM 的关系
- MFC-两个基本控件:DateTimeControl以及CalendarControl
- Just a Hook 【线段树】-区间更改 求和
- 31. Next Permutation Medium
- 面象对象的三大特点
- Zookeeper 的安装
- 第五章 JAVA数组初级学习
- 模拟实现queue