LeetCode 406 根据身高重建队列
- 题目描述
假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺
序)。每个 people[i] = [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于
hi 的人。请你重新构造并返回输入数组 people 所表示的队列。返回的队列应该格式化为数组 queue ,
其中 queue[j] = [hj, kj] 是队列中第 j 个人的属性(queue[0] 是排在队列前面的人)。
- 题解
题目的意思是说要满足给定people数组中的数值,正确的队列顺序应该是什么。
按照身高逆序排序,先将高的且ki小的安置好,新来的直接在给定位置插入即可,因为前面的
人都比它要高。
- 代码
class Solution {
public:vector<vector<int>> reconstructQueue(vector<vector<int>>& people) {sort(people.begin(),people.end(),[](const vector<int> &a,const vector<int> &b){return a[0]==b[0]?a[1]<b[1]:a[0]>b[0];});vector<vector<int>> res;for (int i=0;i<people.size();i++){res.insert(res.begin()+people[i][1],people[i]);}return res;}
};
LeetCode 406 根据身高重建队列相关推荐
- Java实现 LeetCode 406 根据身高重建队列
406. 根据身高重建队列 假设有打乱顺序的一群人站成一个队列. 每个人由一个整数对(h, k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h的人数. 编写一个算法来重建这个队列. ...
- LeetCode 406. 根据身高重建队列(排序)
1. 题目 假设有打乱顺序的一群人站成一个队列. 每个人由一个整数对(h, k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h的人数. 编写一个算法来重建这个队列. 注意: 总人数少 ...
- LeetCode 406. 根据身高重建队列
https://leetcode-cn.com/problems/queue-reconstruction-by-height/ 难度:中等 假设有打乱顺序的一群人站成一个队列. 每个人由一个整数 ...
- leetcode 406. 根据身高重建队列(贪心算法)
假设有打乱顺序的一群人站成一个队列. 每个人由一个整数对 (h, k) 表示,其中 h 是这个人的身高,k 是应该排在这个人前面且身高大于或等于 h 的人数. 例如:[5,2] 表示前面应该有 2 个 ...
- 2022-3-21 Leetcode 406.根据身高重建队列
先给数组排序,第一个数较大的在前面,如果第一个数字相同,第二个数字比较小的在前面. 之后再通过插入调整顺序,从头开始,按照第二个数字插入. 为什么这样做是正确的? 因为第二个数字是新插入的人的前面有几 ...
- 171. Leetcode 406. 根据身高重建队列 (贪心算法-两个维度权衡题目)
class Solution:def reconstructQueue(self, people: List[List[int]]) -> List[List[int]]:people.sort ...
- 力扣Leetcode之Java解题406根据身高重建队列
406. 根据身高重建队列 题目: 假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序).每个 people[i] = [hi, ki] 表示第 i 个人的身 ...
- 贪心算法|406. 根据身高重建队列|先排序后插队
贪心算法|406. 根据身高重建队列|先排序后插队 406. 根据身高重建队列 - 力扣(LeetCode) (leetcode-cn.com) 题目 假设有打乱顺序的一群人站成一个队列,数组 peo ...
- 406. 根据身高重建队列
链接:406. 根据身高重建队列 题解: class Solution {public:vector<vector<int>> reconstructQueue(vector& ...
最新文章
- 当AI实现多任务学习,它究竟能做什么?
- 【迁移2018-04-12 10:46:11】BeanCopier之MapStruct(一)
- 两难!到底用 Spring BeanUtils 还是 Apache BeanUtils?
- nginx upstream setting
- C++——异步操作(std::future、std::async、std::packaged_task、std::promise)
- Linux - XShell - alt 快捷键的设置
- Prometheus(一):Web服务环境监控
- [].slice.call
- react让我怀疑自己没有当程序员的天分怎么破?
- little bird
- 特斯拉员工薪酬曝光 最低54万元!
- TortoiseSVN文件夹操作
- chromedriver 下载_解决ChromeDriver安装与配置问题
- pdf格式如何压缩文件大小?
- 在x86下交叉编译mips程序
- Argo Rollouts 实现蓝绿/金丝雀发布
- LIO-SAM_based_relocalization运行kitti回环序列并保存轨迹评估(一)——————源码的分析
- 移动app手机物理键返回、后退、上一页面并重新加载页面数据
- L1 批判思维 - 独立思考- 破除思维误区 1.1为什么我们很难独立思考
- 剑指offer--反转链表