2020-06-09
根據身高重建佇列
假設有打亂順序的一群人站成乙個佇列。 每個人由乙個整數對(h, k)表示,
其中h是這個人的身高,k是排在這個人前面且身高大於或等於h的人數。
編寫乙個演算法來重建這個佇列
題解:思路1:貪心演算法
每次插入乙個元素 都是滿足題意的解
當佇列中所有人的 (h,k) 都是相同的高度 h,只有 k 不同時,解決方案很簡單:每個人在佇列的索引 index = k。
即使不是所有人都是同一高度,這個策略也是可行的。因為個子矮的人相對於個子高的人是 「看不見」 的,
所以可以先安排個子高的人。
406 根據身高重建佇列
假設有打亂順序的一群人站成乙個佇列。每個人由乙個整數對 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...
406 根據身高重建佇列
假設有打亂順序的一群人站成乙個佇列。每個人由乙個整數對 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...
406 根據身高重建佇列
假設有打亂順序的一群人站成乙個佇列。每個人由乙個整數對 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...