当前位置:网站首页>LeetCode: 406. 根据身高重建队列
LeetCode: 406. 根据身高重建队列
2022-08-04 21:22:00 【君梦如烟Brian】
思路
先安置较高的,再安置较矮的。
由于每个人只能看与自己同高或更高的。也就是说较高者的k值,不受较矮者的影响。
那么,我们如果先按照身高进行排序之后,每次取出输入序列中的最高者。
那么已安排序列中所有人的身高一定都比当前输入者的身高要高。那么,输入者的k值一定放到已安排序列中第k个一定是符合顺序的。
原题输入: [7,0],[4,4],[7,1],[5,0],[6,1],[5,2]
根据身高排个序,得到输入序列 [7,0],[7,1],[6,1],[5,0],[5,2],[4,4]
已安排序列: [ ]
放入[7,0],根据k值放置
输入序列: [7,1],[6,1],[5,0],[5,2],[4,4]
安排序列: [7,0]放入[7,1]
输入序列: [6,1],[5,0],[5,2],[4,4]
安排序列: [7,0],[7,1]放入[6,1],与已经存在的[7,1]存在冲突,由于7 > 6, 因此可以将[7,1]往后挪
输入序列: [5,0],[5,2],[4,4]
安排序列: [7,0],[6,1],[7,1]放入 [5,0], 同上冲突, 由于所有数都比[5,0]大,我们可以将它们任意挪动,而不影响它们的k值
输入序列: [5,2],[4,4]
安排序列: [5,0], [7,0],[6,1],[7,1]放入 [5,2],
输入序列: [4,4]
安排序列: [5,0],[7,0],[5,2],[6,1],[7,1]放入[4,4]
输入序列: []
安排序列: [5,0],[7,0],[5,2],[6,1],[4,4],[7,1],
实现
class Solution {
public:
vector<vector<int>> reconstructQueue(vector<vector<int>>& people) {
std::sort(people.begin(), people.end(),
[&](const auto &lhs, const auto& rhs){
// h相等, k降序
// h不等, h升序
return lhs[0] == rhs[0] ? lhs[1] < rhs[1] : lhs[0] > rhs[0];
});
vector<vector<int>> tmp;
for(int i = 0; i != people.size();++i){
tmp.insert(tmp.begin() + people[i][1], people[i]);
}
return tmp;
}
};
边栏推荐
- 链队
- 数电快速入门(一)(BCD码和三种基本逻辑运算的介绍)
- 3. Byte stream and character stream of IO stream
- 【2022牛客多校5 A题 Don‘t Starve】DP
- How to understand the crawler's Scrapy framework in the simplest and most popular way?
- Red team kill-free development practice of simulated confrontation
- 1、File对象学习
- Spss-系统聚类手算实操
- LayaBox---TypeScript---Example
- C#之app.config、exe.config和vshost.exe.config作用区别
猜你喜欢
随机推荐
C语言之实现扫雷小游戏
Chapter7 : Network-Driven Drug Discovery
【CC3200AI 实验教程 1】疯壳·AI语音人脸识别(会议记录仪/人脸打卡机)-开发环境搭建
matlab 画图
PowerCLi batch configuration of NTP
Common methods of js's new Function()
unity2D横版游戏教程9-对话框dialog
【PCBA program design】Grip dynamometer program
web漏洞扫描器-awvs
LayaBox---知识点
matlab drawing
3、IO流之字节流和字符流
Yolov7:Trainable bag-of-freebies sets new state-of-the-art for real-time objectdetectors
知识分享|如何设计有效的帮助中心,不妨来看看以下几点
链栈的应用
用 Excel 爬取网络数据的四个小案例
Spss-一元回归实操
数电快速入门(二)(复合逻辑运算和逻辑代数的基本定律的介绍)
【PCBA方案设计】握力计方案
dotnet delete read-only files









