Hi,
is there any linear time algorithm to solve this problem?
An array of length 5k+1 having k+1 distinct elements with k elements repeating 5 times each. The goal is to find the element which doesn't repeat.
Can we do this in linear time?
O(nlogn) algorithm is to sort the array using any of the standard sorting algorithms and then just find this element. Is there a linear time algo for this?
Thanks.
Comments
:
: is there any linear time algorithm to solve this problem?
:
: An array of length 5k+1 having k+1 distinct elements with k
: elements repeating 5 times each. The goal is to find the element
: which doesn't repeat.
: Can we do this in linear time?
:
: O(nlogn) algorithm is to sort the array using any of the standard
: sorting algorithms and then just find this element. Is there a
: linear time algo for this?
:
: Thanks.
:
Use a hash table to store your elements and the count. Then make a second pass over the hash to pick out the one with only one entry.
Hash tables can be designed to be practically O(1) for insertions.