歡迎光臨
每天分享高質量文章

演演算法題:最大點集

(點選上方公眾號,可快速關註)

P為給定的二維平面整數點集。定義 P 中某點x,如果x滿足 P 中任意點都不在 x 的右上方區域內(橫縱坐標都大於x),則稱其為“最大的”。求出所有“最大的”點的集合。(所有點的橫坐標和縱坐標都不重覆, 坐標軸範圍在[ 0, 1e9 ) 內)


如下圖:實心點為滿足條件的點的集合。請實現程式碼找到集合 P 中的所有 ”最大“ 點的集合併輸出。

格式:

第一行輸入點集的個數 N, 接下來 N 行,每行兩個數字代表點的 X 軸和 Y 軸。對於 50%的資料,  1 <= N <= 10000;對於 100%的資料, 1 <= N <= 500000。輸出“最大的” 點集合, 按照 X 軸從小到大的方式輸出,每行兩個數字分別代表點的 X 軸和 Y軸。


樣例輸入

5

1 2

5 3

4 6

7 5

9 0


樣例輸出

4 6

7 5

9 0

請透過評論說出你的解答。如果有必要,請介紹一下解題思路。在評論中分享解題思路可以讓其他人瞭解你的想法。你的解答幫助了其他人,其他人的解答也將幫助到你。期待大家參與 ^_^


關註「演演算法愛好者」

看更多名企筆試題與解題討論

↓↓

贊(0)

分享創造快樂