(點選上方公眾號,可快速關註)
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
請透過評論說出你的解答。如果有必要,請介紹一下解題思路。在評論中分享解題思路可以讓其他人瞭解你的想法。你的解答幫助了其他人,其他人的解答也將幫助到你。期待大家參與 ^_^
關註「演演算法愛好者」
看更多名企筆試題與解題討論
↓↓↓