I think I could do it in O(n) .

var bits=0
var @array

for each i in array
    if (bits & i)!=0
          return i
    else
          bits=bits | i;
    end if
end for

I just use the pattern for powers of two

let array be 2,4,2

so first
bits=0 i=2     so bits(000) & i(010) is 0 so bits= bits | i which is
bits=010
next
bits=2 i=4     so bits(010) & i(100) is 0 so bits= bits | i which is
bits=110
next
bits=6 i=2     so bits(110) & i(010) is 2 which is !=0 so we return i.

I think that should be it.

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

Reply via email to