Hi all,

thanks for your thoughts. However, there is no additional info on the
input data beyond what is stated in the original post.
I feel that there is no solution with constant memory and linear time
but the problem is, how to prove it?

On Aug 17, 1:32 pm, "Dondi Imperial" <[EMAIL PROTECTED]> wrote:
> if you know the range of the numbers don't you just have to create and
> array (of length k in your example) then iterate over the array and
> increment the corresponding element in the other array.
>
> Ie,
>
> int[] arrayValues =  some array of a known range
> int[] arrayLookup = int[min_in_range - max_in_range + 1]
>
> foreach(i in arrayValues)
>   if(arrayLookup[i] > 0) then
>     found
>   else
>    arrayLookup[i]++
>
> Of course range could be prohibitively large (still constant though if
> you know the range before hand).
>
> On 8/17/07, Vaibhav Jain <[EMAIL PROTECTED]> wrote:
>
> > if u know the range of values stored in array then
> > let me assume values 1 to k then u can calculate sum of numbers stored in
> > array in O(n) complexity.
> > after that apply formula
>
> > duplicate value= [k*(k+1)]/2 - sum of numbers stored in array
>
> > it will take O(1) constant time so total complexity becomes only O(n).
>
> > it can be one solution to your problem but if the range is unknown for
> > values then
> > is there any solution to come in O(n)???
>
> > On 8/16/07, dsha <[EMAIL PROTECTED]> wrote:
>
> > > Hi there,
>
> > > I'm interested in the following problem: there is an array of integers
> > > that contains each element only once except for one element that
> > > occurs exactly twice. Is there a way to find this element faster than
> > > O(n*log n) and with constant extra memory? If no, how can I prove it?
>
> > > Thanks in advance for ideas.
>
> > --
> > Vaibhav Jain


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/algogeeks
-~----------~----~----~----~------~----~------~--~---

Reply via email to