Обработать номера как ключи.
for each elem in array:
if hash(elem) == 1 //duplicate
ignore it
next
else
hash(elem) = 1
add this to resulting array
end
Если вы знаете о таких данных, как диапазон чисел, и если он конечен, вы можете инициализировать этот большой массив с помощью ZERO. array flag[N] //N is the max number in the array
for each elem in input array:
if flag[elem - 1] == 0
flag[elem - 1] = 1
add it to resulatant array
else
discard it //duplicate
end