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

  • 相关阅读:
    VS2015安装水晶报表
    C# 通过java生成的RSA公钥加密和解密
    T4代码生成器
    产品开发- DFX
    读《31天学会CRM项目开发》记录3
    读《31天学会CRM项目开发》记录2
    读《31天学会CRM项目开发》记录1
    产品开发
    产品开发
    机器视觉
  • 原文地址:https://www.cnblogs.com/xidian2014/p/8855449.html
Copyright © 2011-2022 走看看