zoukankan      html  css  js  c++  java
  • 406 Queue Reconstruction by Height 根据身高重建队列

    假设有打乱顺序的一群人站成一个队列。 每个人由一个整数对(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]]

    详见:https://leetcode.com/problems/queue-reconstruction-by-height/description/

    C++:

    class Solution {
    public:
        vector<pair<int, int>> reconstructQueue(vector<pair<int, int>>& people) {
            sort(people.begin(), people.end(), [](const pair<int,int> &a, const pair<int, int> &b){
                return a.first > b.first || (a.first == b.first && a.second < b.second);
            });
            for (int i = 0; i < people.size(); i++) 
            {
                auto p = people[i];
                if (p.second != i) 
                {
                    people.erase(people.begin() + i);
                    people.insert(people.begin() + p.second, p);
                }
            }
            return people;
        }
    };
    

     参考:https://www.cnblogs.com/grandyang/p/5928417.html

  • 相关阅读:
    提升PHP执行效率的一些小细节
    linux文件处理命令
    C# file操作
    C# MD5
    C# guid
    C# Path类 Directory类
    MarkDown学习
    从GitHub建站迁移到服务器(Java环境)
    sonarqube在windows上软件安装,配置及使用
    【优化】记录一次方法性能优化
  • 原文地址:https://www.cnblogs.com/xidian2014/p/8855449.html
Copyright © 2011-2022 走看看