We provide an implementation of removing duplicated values from an (unsorted) array.
- Sorted version (link)
def remove_duplicate(arr):
seen = []
for num in arr:
seen.append(num)
return seen
print(remove_duplicate([1, 2, 2, 4, 4]))
print(remove_duplicate([5, 4, 1, 5]))
print(remove_duplicate([5, 2, 5, 1]))
[1, 2, 4]
[5, 4, 1]
[5, 2, 1]
Time and space: $O(N)$. Not possible to be $O(1)$ since we do not know where the duplicate is located and no ordering information. Extra space is needed to check if value has been encountered before.