0406._Queue_Reconstruction_By_Height
406. Queue Reconstruction By Height
难度: medium
刷题内容
原题连接
内容描述
假设有打乱顺序的一群人站成一个队列。 每个人由一个整数对(h, k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h的人数。 编写一个算法来重建这个队列。
注意:
总人数少于1100人。
示例 1:
1 | 输入: |
解题方案
思路 1
**- 时间复杂度: O(N²)**- 空间复杂度: O(N)**
贪心算法
思路
个子矮的人的位置不会影响到其他人,他的位置不会影响到其他人。
操作步骤
- 对人群排序,由高到低,身高相同再由低到高
- 建立一个空队列
- 对排序后的人群进行遍历,将当前遍历的人 按照他的索引(n)插入到队列第n的位置
代码:
1 | var reconstructQueue = function(people) { |