生活随笔
收集整理的這篇文章主要介紹了
LeetCode 406 根据身高重建队列
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目描述
假設(shè)有打亂順序的一群人站成一個(gè)隊(duì)列,數(shù)組 people 表示隊(duì)列中一些人的屬性(不一定按順
序)。每個(gè) people[i] = [hi, ki] 表示第 i 個(gè)人的身高為 hi ,前面 正好 有 ki 個(gè)身高大于或等于
hi 的人。請(qǐng)你重新構(gòu)造并返回輸入數(shù)組 people 所表示的隊(duì)列。返回的隊(duì)列應(yīng)該格式化為數(shù)組 queue ,
其中 queue[j] = [hj, kj] 是隊(duì)列中第 j 個(gè)人的屬性(queue[0] 是排在隊(duì)列前面的人)。
題解
題目的意思是說要滿足給定people數(shù)組中的數(shù)值,正確的隊(duì)列順序應(yīng)該是什么。
按照身高逆序排序,先將高的且ki小的安置好,新來的直接在給定位置插入即可,因?yàn)榍懊娴?人都比它要高。
代碼
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;}
};
總結(jié)
以上是生活随笔為你收集整理的LeetCode 406 根据身高重建队列的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。