假设有打乱顺序的一群人站成一个队列。 每个人由一个整数对(h, k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h的人数。 编写一个算法来重建这个队列。

注意:
总人数少于1100人。

示例

输入:
[[7,0], [4,4], [7,1], [5,0], [6,1], [5,2]]输出:
[[5,0], [7,0], [5,2], [6,1], [4,4], [7,1]]

思路: 将整数对 (h, k) 按照 h 降序排序,如果 h 相同,则按照 k 升序排序。排序完毕后,令结果数组为 ans,从头开始遍历数组,将数组中的每个元素插入到索引k前面的位置。代码如下

class Solution {
public:static bool cmp(const vector<int>& a, const vector<int>& b){if(a[0]!=b[0]) return a[0]>b[0]; // 按照 h 降序排序else return a[1]<b[1]; // 按照 k 升序排序}vector<vector<int>> reconstructQueue(vector<vector<int>>& people) {sort(people.begin(), people.end(), cmp);vector<vector<int>> ans;for(auto v:people){ans.insert(ans.begin()+v[1], v);}return ans;}
};

根据身高重建队列—leetcode406相关推荐

  1. 406. 根据身高重建队列

    链接:406. 根据身高重建队列 题解: class Solution {public:vector<vector<int>> reconstructQueue(vector& ...

  2. Suzy想吃烤蛋挞了Day35 | 贪心算法进行时:860. 柠檬水找零,406. 根据身高重建队列,452. 用最少数量的箭引爆气球

    860. 柠檬水找零 solution 不要漏掉的一种情况是:如果收到了20,可以找10+5,或者5+5+5 class Solution:def lemonadeChange(self, bills ...

  3. 贪心算法|406. 根据身高重建队列|先排序后插队

    贪心算法|406. 根据身高重建队列|先排序后插队 406. 根据身高重建队列 - 力扣(LeetCode) (leetcode-cn.com) 题目 假设有打乱顺序的一群人站成一个队列,数组 peo ...

  4. 力扣Leetcode之Java解题406根据身高重建队列

    406. 根据身高重建队列 题目: 假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序).每个 people[i] = [hi, ki] 表示第 i 个人的身 ...

  5. Java实现 LeetCode 406 根据身高重建队列

    406. 根据身高重建队列 假设有打乱顺序的一群人站成一个队列. 每个人由一个整数对(h, k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h的人数. 编写一个算法来重建这个队列. ...

  6. (LeetCode 406)根据身高重建队列 [贪心+sort+条件推理 ]

    406. 根据身高重建队列 假设有打乱顺序的一群人站成一个队列. 每个人由一个整数对(h, k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h的人数. 编写一个算法来重建这个队列. ...

  7. 代码随想录35——贪心:860柠檬水找零、406根据身高重建队列、452用最少数量的箭引爆气球

    文章目录 1.860柠檬水找零 1.1.题目 1.2.解答 2.406根据身高重建队列 2.1.题目 2.2.解答 3.452用最少数量的箭引爆气球 3.1.题目 3.2.解答 1.860柠檬水找零 ...

  8. 代码随想录算法训练营第35天|860.柠檬水找零,406.根据身高重建队列,452. 用最少数量的箭引爆气球

    代码随想录算法训练营第35天|860.柠檬水找零,406.根据身高重建队列,452. 用最少数量的箭引爆气球 860.柠檬水找零 406. 根据身高重建队列 452. 用最少数量的箭引爆气球 860. ...

  9. leetcode406.根据身高重建队列

    参考: https://blog.csdn.net/camellhf/article/details/52671119 https://leetcode.com/problems/queue-reco ...

最新文章

  1. 谷歌前CEO对“元宇宙”大泼冷水:AI技术是伪神
  2. 程序员如何对待自己的工作
  3. 源 arm_arm和X86处理器性能简单测试
  4. 数据结构(5) -- 图
  5. NET问答: 如何记录 EntityFramework 中的所有 SQL 日志 ?
  6. 电脑怎么结束进程_深刻了解windows系统的任务管理器,电脑高手的成长之路
  7. 分析师称iPhone 13将支持卫星通信,但仅限特定市场
  8. java unsafe 详解_Java CAS操作与Unsafe类详解
  9. Windows下搭建elasticsearch集群案例
  10. QList、QVector、QMap容器类
  11. Flutter之RenderView RenderObject ParentData知识点梳理
  12. android播放器 重音,如何在SQLite查询中忽略重音(Android)
  13. linux服务器双网卡路由优先级冲突 Metric值
  14. Flask 数据库迁移(详解)
  15. 苹果开发者账号--关于邓白氏编码的申请
  16. qt对excel的基本操作
  17. 学习笔记MOOCM《计算机程序设计C++》第三周中级练习
  18. dr.oracle素颜霜好用吗,Dr.Glamour素颜霜BB霜哪个好用?这几个误千万不要踩
  19. cv.add cv.addWeighted 的区别
  20. Xz1android9打电话延迟,索尼Xperia XZ与XZ1系列正式获得Android 9升级;但这新

热门文章

  1. mysql 一对多映射_mybatis关系映射之一对多和多对一
  2. 驱动_Input输入子系统
  3. 06-机器学习.数据分析.数据挖掘的区别于联系
  4. 选择 Python3.6 还是 Python 3.7
  5. Linux 基础学习大考核
  6. 记录 centos samba 安装
  7. 去哪儿网笔试题——取出第一个重复的字符
  8. UIActionSheet
  9. Asp.net发送邮件的两种方法小结
  10. Linux引导过程详解