例題 P-2-2. 離散化 – sort
假設有 \(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)\)。
owo
輸入格式
輸入兩行,第一行是正整數 \(N\) 不超過 10 萬, 第二行是 \(N\) 個整數,大小不超過 \(10^9\),以空白間隔。
輸出格式
輸出置換後的序列,兩數之間以一個空白間隔。
範例輸入
7
0 3 9 3 3 -1 0
範例輸出
1 2 3 2 2 0 1
留言