18 lines
449 B
Ruby
18 lines
449 B
Ruby
|
#Given an array of length n contains elements from 0 to n-1,
|
||
|
#Print all the duplicate elements in O(n) time and constant space.
|
||
|
|
||
|
def print_duplicates(a)
|
||
|
n=a.length
|
||
|
print "Duplicate elements are: "
|
||
|
for i in 0...n
|
||
|
if a[a[i].abs]<0
|
||
|
print "#{a[i].abs} "
|
||
|
else
|
||
|
a[a[i].abs]= -a[a[i].abs]
|
||
|
end
|
||
|
end
|
||
|
return
|
||
|
end
|
||
|
print_duplicates([1, 4, 6, 4, 3, 6, 1]) # => Duplicate elements are: 4 6 1
|
||
|
|
||
|
|