Aggiungo: è importante che l'array finale sia ordinato come quello da elaborare?
Ossia: se l'input è

{2, 5, 4, 1, 3, 2, 1}

l'output dovrà essere necessariamente

{5, 4, 3}

(ossia, la sequenza originale tolti i duplicati) oppure va bene anche

{3, 4, 5}

?