【文件属性】:
文件名称:两两认识leetcode-LeetCode-Challenge:LeetCode-挑战
文件大小:2KB
文件格式:ZIP
更新时间:2021-06-30 22:09:42
系统开源
两两认识leetcode
LeetCode-Challenge
2020
年
6
月
7
日
问题陈述:按高度重建队列
假设您有一个随机的人站在队列中的列表。
每个人由一对整数
(h,
k)
描述,其中
h
是此人的身高,k
是此人前面身高大于或等于
h
的人数。
写一个算法来重建队列。
样本输入:[[7,0],
[4,4],
[7,1],
[5,0],
[6,1],
[5,2]]
样本输出:[[5,0],
[7,0],
[5,2],
[6,1],
[4,4],
[7,1]]
解决方案
这里“重建队列”语句意味着安排一个人x,使得他/她前面的身高大于或等于人x的人数应该与人x的第二个索引处的值相匹配。
一个简单的解决方案是尝试给定输入的所有可能排列,其时间复杂度为
,其中
n
是列表中元素的数量。
显然,我们可以做得比这更好。
注意:在讨论该方法时,我将使用示例输入和输出。
同样从这里开始,我将把人表示为具有两个值
h
和
k
的元素。
考虑一个名为
n
大小的输出的空列表,这里取
n
=
6
作为样本输入的大小。
现在让我们尝试首先用样本输入中的单个元素填充我们的空列表,所以如果仔细
【文件预览】:
LeetCode-Challenge-master
----README.md(5KB)