LeetCode406. Queue Reconstruction by Height

文章目录

一、题目

You are given an array of people, people, which are the attributes of some people in a queue (not necessarily in order). Each people[i] = [hi, ki] represents the ith person of height hi with exactly ki other people in front who have a height greater than or equal to hi.

Reconstruct and return the queue that is represented by the input array people. The returned queue should be formatted as an array queue, where queue[j] = [hj, kj] is the attributes of the jth person in the queue (queue[0] is the person at the front of the queue).

Example 1:

Input: people = [[7,0],[4,4],[7,1],[5,0],[6,1],[5,2]]
Output: [[5,0],[7,0],[5,2],[6,1],[4,4],[7,1]]
Explanation:
Person 0 has height 5 with no other people taller or the same height in front.
Person 1 has height 7 with no other people taller or the same height in front.
Person 2 has height 5 with two persons taller or the same height in front, which is person 0 and 1.
Person 3 has height 6 with one person taller or the same height in front, which is person 1.
Person 4 has height 4 with four people taller or the same height in front, which are people 0, 1, 2, and 3.
Person 5 has height 7 with one person taller or the same height in front, which is person 1.
Hence [[5,0],[7,0],[5,2],[6,1],[4,4],[7,1]] is the reconstructed queue.
Example 2:

Input: people = [[6,0],[5,0],[4,0],[3,2],[2,2],[1,4]]
Output: [[4,0],[5,0],[2,2],[3,2],[1,4],[6,0]]

Constraints:

1 <= people.length <= 2000
0 <= hi <= 106
0 <= ki < people.length
It is guaranteed that the queue can be reconstructed.

二、题解

分别处理h和k。先根据h进行排序,之后根据k进行排序。

class Solution {
   
public:
    static bool cmp(vector<int>& a,vector<int>& b){
   
        if(a[0] == b[0]) return a[1] < b[1];
        else return a[0] > b[0];
    }
    vector<vector<int>> reconstructQueue(vector<vector<int>>& people) {
   
        sort(people.begin(),people.end(),cmp);
        vector<vector<int>> res;
        for(int i = 0;i < people.size();i++){
   
            int index = people[i][1];
            res.insert(res.begin() + index,people[i]);
        }
        return res;
    }
};

相关推荐

  1. leetcode40

    2023-12-08 10:52:04       36 阅读
  2. leetcode(402,44 53)

    2023-12-08 10:52:04       60 阅读
  3. LeetCode406. Queue Reconstruction by Height

    2023-12-08 10:52:04       51 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-08 10:52:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-08 10:52:04       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-08 10:52:04       82 阅读
  4. Python语言-面向对象

    2023-12-08 10:52:04       91 阅读

热门阅读

  1. 数据结构强化:算法题、应用题

    2023-12-08 10:52:04       48 阅读
  2. Hadoop YARN组件

    2023-12-08 10:52:04       52 阅读
  3. Redisson配置

    2023-12-08 10:52:04       59 阅读
  4. 【IC前端虚拟项目】工程目录组织说明

    2023-12-08 10:52:04       61 阅读
  5. 第四十二篇,MATLAB on Linux

    2023-12-08 10:52:04       67 阅读
  6. 上机实验四 哈希表设计 西安石油大学数据结构

    2023-12-08 10:52:04       45 阅读