例題 P-2-2. 離散化 – sort


Submit solution

分數: 100 (partial)
時間限制: 1.0s
記憶體限制: 1G

作者:
題目類型
允許的語言
Assembly, Brainfuck, C, C++, Python

假設有 \(N\) 個整數要被讀到一個陣列中,我們想要將這些整數置換成從 0 開始依序排列的整數並且維持它們原來的大小關係,例如輸入的整數序列是 \((5, 3, 9, 3, 15, 9, 8, 9)\),這些數如從小到大排是 \((3, 3, 5, 8, 9, 9, 9, 15)\),去 除重複者後為 \((3, 5, 8, 9, 15)\),所以我們要替換的是:

3 ==> 0

5 ==> 1

8 ==> 2

9 ==> 3

15 => 4
所以原先的序列就會變成 \((1, 0, 3, 0, 4, 3, 2, 3)\)。

輸入格式

輸入兩行,第一行是正整數 \(N\) 不超過 10 萬, 第二行是 \(N\) 個整數,大小不超過 \(10^9\),以空白間隔。

輸出格式

輸出置換後的序列,兩數之間以一個空白間隔。

範例輸入

7
0 3 9 3 3 -1 0

範例輸出

1 2 3 2 2 0 1

評論

目前沒有評論。