406. 根据身高重建队列¶
力扣链接(中等):https://leetcode.cn/problems/queue-reconstruction-by-height
假设有打乱顺序的一群人站成一个队列,数组 people
表示队列中一些人的属性(不一定按顺序)。每个 people[i] = [hi, ki]
表示第 i
个人的身高为 hi
,前面 正好 有 ki
个身高大于或等于 hi
的人。
请你重新构造并返回输入数组 people
所表示的队列。返回的队列应该格式化为数组 queue
,其中 queue[j] = [hj, kj]
是队列中第 j
个人的属性(queue[0]
是排在队列前面的人)。
示例 1:
示例 2:
Text Only | |
---|---|
提示:
1 <= people.length <= 2000
0 <= hi <= 106
0 <= ki < people.length
- 题目数据确保队列可以被重建
个人题解¶
本题可以使用 list
容器来做插入操作,因为 list
容器底层为链表实现,插入效率远高于 vector
。
关于贪心算法有两个维度的情况,通常是确定一个维度后再考虑另一个维度,「135.分发糖果」同样是这个思想。