Hi

The ques explicitly said the elements are in pairs ...But the one given by
sanjay has more than 2 2's ...that question cant be done using bsearch then

On Wed, Aug 24, 2011 at 6:21 PM, Sanjay Rajpal <srn...@gmail.com> wrote:

> yes this is the only one till now, but i think we can do better also.
>
> Hope a better solution will be posted by someone soon.
>
> Sanju
> :)
>
>
>
> On Wed, Aug 24, 2011 at 5:22 AM, Venkat <venkataharishan...@gmail.com>wrote:
>
>> @Sanju: For your input both above solution wont work...
>>
>> Do you ve any soultion for your input??
>> For your input.... Xor all numbers - will give you the result....:)
>> but its O(n)
>>
>> Anyway your input allow everyone to think little wider than Binay
>> search.
>>
>>
>> Thanks
>> Venkat
>>
>>
>> On Aug 24, 4:05 pm, Sanjay Rajpal <srn...@gmail.com> wrote:
>> > @Venkat : suppose if the array were : 1 2 2 2 2 2 2 2 2 2 2, would ur
>> > solution work ?
>> >
>> > Sanju
>> > :)
>> >
>> > On Wed, Aug 24, 2011 at 3:58 AM, Ankit Minglani <
>> ankit.mingl...@gmail.com>wrote:
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> > > How about this :
>> > > We use a divide and conquer approach and since the array is sorted.
>> > > We find the middle element and check its value with its immediate left
>> and
>> > > right element .. it must match with anyone of them ..
>> >
>> > > if it doesnt we have found such a element . and otherwise we divide
>> the
>> > > array again ..
>> > > and then again find the middle element .. to check the same condition
>> ..
>> >
>> > > This will take O(lg n ) time :)
>> >
>> > > On Wed, Aug 24, 2011 at 3:45 PM, Venkat <venkataharishan...@gmail.com
>> >wrote:
>> >
>> > >>  we can solve this with the help of  binary search.
>> >
>> > >> we know N, which is odd(because of one pair missing)
>> >
>> > >> We divide it array. Let consider your input { 1,1,2,2,2,2,3,3,4,5,5}
>> >
>> > >> int find_culprit(int[] array, int start, int end)
>> > >> {
>> > >> if(end==start)
>> > >> return -1;
>> >
>> > >> int mid=((end-start) / 2) + start;
>> > >> if array[mid] == array[mid-1]
>> > >>      return find_culprit(mid,end)
>> > >> if(array[mid] == array [mid +1]
>> > >>      return find_culprit(start, mid);
>> > >> else
>> > >>     return array[mid];
>> > >> }
>> >
>> > >> Run through:
>> > >> Steps1: find_culprit(array,0,8)
>> > >> mid=4
>> > >> Step 2 : find_culprit(array,4,8))
>> > >> mid=6
>> > >> step 3 : find_culprit(array,6,8))
>> > >> mid=7
>> > >> return array[7]=4 (which dont have pair)
>> >
>> > >> Run time O(log n+1) = O(log n)
>> >
>> > >> Please ask if you ve any doubts.....
>> >
>> > >> Regards
>> > >> Venkat.
>> >
>> > >> On Aug 24, 2:49 pm, atul purohit <gonewiththe...@gmail.com> wrote:
>> > >> > Hi,
>> >
>> > >> > A* sorted *integer array contains elements in pairs. All the pairs
>> are
>> > >> > complete except one element whose pair is missing. Find that
>> element.
>> >
>> > >> > Ex.   { 1,1,2,2,2,2,3,3,4,5,5}
>> > >> >  result = 5
>> >
>> > >> > There is a standard solution which returns an XOR of all the
>> elements.
>> > >> But
>> > >> > this needs O(n) time complexity. The person who asked me this
>> question
>> > >> said
>> > >> > that this can be done in < O(n). Maybe we can eliminate some
>> elements.
>> > >> > Anyone knows how to do this?
>> >
>> > >> > Cheers,
>> > >> > Atul
>> >
>> > >> --
>> > >> 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?hl=en.
>> >
>> > > --
>> > > The more you sweat in the field, the less you bleed in war."
>> >
>> > > Ankit Minglani
>> > > NITK Surathkal
>> >
>> > > --
>> > > 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?hl=en.
>>
>> --
>> 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?hl=en.
>>
>>
>  --
> 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?hl=en.
>

-- 
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?hl=en.

Reply via email to