当前位置:网站首页>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;
}
};
边栏推荐
- [21天学习挑战赛——内核笔记](二)——设备树基础
- Android 面试——如何写一个又好又快的日志库?
- SPSS-unary regression practice
- PowerCLi 导入License到vCenter 7
- SAP ABAP OData 服务如何支持 $select 有选择性地仅读取部分模型字段值试读版
- 8 年产品经验,我总结了这些持续高效研发实践经验 · 协同篇
- 3. Byte stream and character stream of IO stream
- js的new Function()常用方法
- 实战:10 种实现延迟任务的方法,附代码!
- [2022 Nioke Duo School 5 A Question Don't Starve] DP
猜你喜欢
随机推荐
三种方式设置特定设备UWP XAML view
【CC3200AI 实验教程 1】疯壳·AI语音人脸识别(会议记录仪/人脸打卡机)-开发环境搭建
1、File对象学习
1.读写点云文件
2、字符集-编码-解码
Re24:读论文 IOT-Match Explainable Legal Case Matching via Inverse Optimal Transport-based Rationale Ext
Red team kill-free development practice of simulated confrontation
香港暂停进口俄罗斯部分地区禽肉及禽类产品
拒绝服务攻击DDoS介绍与防范
经验分享|盘点企业进行知识管理时的困惑类型
dotnet enables JIT multi-core compilation to improve startup performance
【一起学Rust | 进阶篇 | Service Manager库】Rust专用跨平台服务管理库
SPSS-unary regression practice
使用堡塔应用管理器配置laravel队列方法
传奇服务器需要什么配置?传奇服务器租用价格表
AtCoder Beginner Contest 262 D - I Hate Non-integer Number
Yolov7:Trainable bag-of-freebies sets new state-of-the-art for real-time objectdetectors
PCBA方案设计——厨房语音秤芯片方案
js的new Function()常用方法
经验分享|盘点企业进行知识管理时的困惑类型









