假設有打亂順序的一群人站成乙個佇列。 每個人由乙個整數對(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]]
/**
* 解題思路:先排序再插入
* 1.排序規則:按照先h高度降序,k個數公升序排序
* 2.遍歷排序後的陣列,根據k插入到k的位置上
** 核心思想:高個子先站好位,矮個子插入到k位置上,前面肯定有k個高個子,矮個子再插到前面也滿足k的要求
** @param people
* @return
*/// [7,0], [7,1], [6,1], [5,0], [5,2], [4,4]
// 再乙個乙個插入。
// [7,0]
// [7,0], [7,1]
// [7,0], [6,1], [7,1]
// [5,0], [7,0], [6,1], [7,1]
// [5,0], [7,0], [5,2], [6,1], [7,1]
// [5,0], [7,0], [5,2], [6,1], [4,4], [7,1]
class
solution
return res;
}static
bool
cmp(
const vector<
int>
&a,const vector<
int>
&b)}
;
根據身高重建佇列
題目 假設有打亂順序的一群人站成乙個佇列。每個人由乙個整數對 h,k 表示,其中h是這個人的身高,k是排在這個人前面且身高大於或等於h的人數。編寫乙個演算法來重建這個佇列。leetcode406 注意 總人數少於1100人。示例輸入 7,0 4,4 7,1 5,0 6,1 5,2 輸出 5,0 7,...
LeetCode 根據身高重建佇列
題目如下 假設有打亂順序的一群人站成乙個佇列。每個人由乙個整數對 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 ...
leetcode 根據身高重建佇列
這一題,我當時真的沒想到乙個好的思路,比較簡潔,比較work的是思路,於是我看了答案 題目 假設有打亂順序的一群人站成乙個佇列。每個人由乙個整數對 h,k 表示,其中h是這個人的身高,k是排在這個人前面且身高大於或等於h的人數。編寫乙個演算法來重建這個佇列。注意 總人數少於1100人 輸入 7,0 ...