@Ashish: i could not get the answer -3 as well . It is indeed a tough
question. :)

On 9 July 2010 10:31, Ashish Goel <ashg...@gmail.com> wrote:

> @Priyanka : using my logic,
>
> 2,-3,5,4,1,3...
> 2,-3,-5,4,1,3..
> 2,-3,-5,4,-1,3..
> -2,-3,-5,4,-1,3..
>
> now -3 implies 3 is the answer
>
> to be honest, i hate to ask or be asked such question in interviews :)
>
> Best Regards
> Ashish Goel
> "Think positive and find fuel in failure"
> +919985813081
> +919966006652
>
>
> On Thu, Jul 8, 2010 at 9:53 PM, Priyanka Chatterjee 
> <dona.1...@gmail.com>wrote:
>
>> @Ashish :Firstly your code will never run in O(k) time and also fails to
>> provide correct answer.
>>                In your code the index of  first negative encountered is
>> returned
>>   test for this sample:   k=5 ,    A=2,3,5,4,1,3..... your code returns 2
>> while answer is 3.
>>
>>
>>
>>> alternate way is to check for  a ring
>>> //***************
>>> int count =0; int i =0;
>>> while (count ++ < n){
>>>   if (i==a[i]) {i++;continue;}
>>>   if (a[i] <0) return i;
>>>   i=a[i];
>>>   a[i] *=-1;
>>> }
>>> return -1;
>>> //******************
>>>
>>>
>>> Best Regards
>>> Ashish Goel
>>> "Think positive and find fuel in failure"
>>> +919985813081
>>> +919966006652
>>>
>>>
>>> On Thu, Jul 8, 2010 at 1:32 PM, Priyanka Chatterjee <dona.1...@gmail.com
>>> > wrote:
>>>
>>>>
>>>>
>>>> I totally agree with Umesh's algo which gives O(K+1) time and an inplace
>>>> solution. The only point is the first K+1 numbers may get negated and the
>>>> array is modified. In that case after finding the duplicate we can traverse
>>>> the array again for the first k+1 no.s and make the negative numbers
>>>> positive.
>>>>
>>>> code is -(considering array  contains only positive numbers)
>>>>
>>>> for(i=0;i<k+1;i++){
>>>> if(A[abs(A[i])])<0) return abs(A[i]); //1st duplicate, abs is absolute
>>>> function
>>>>
>>>>  A[abs(A[i])]*=(-1);
>>>>
>>>> }
>>>>
>>>> I am explaining Umesh's solution with an example
>>>>
>>>> let k=6 , k<n
>>>>
>>>> A= 1,6,4,5,2,6,3,..........
>>>> A[0]-1st element, a[k]-k+1 element in array
>>>>
>>>> now A[0]=1; and  A[1]=6 now A[1]= -6
>>>>      A[1]=6   and  A[6]=3 now A[6]=-3
>>>>     A[2]=4  and A[4]=2 now A[4]=-2
>>>>    A[3]=5 and A[5]=6 now A[5]=-6
>>>> A[4]=-2 and A[abs(-2)]=4 now A[2]=-4
>>>> A[5]=-6 and A[abs(-6]<0 therefore return 6
>>>>
>>>> time complexity=O(k+1) and very much inplace solution .
>>>>
>>>> --
>>>> Thanks & Regards,
>>>> Priyanka Chatterjee
>>>> Final Year Undergraduate Student,
>>>>
>>>> Computer Science & Engineering,
>>>> National Institute Of Technology,Durgapur
>>>> India
>>>> http://priyanka-nit.blogspot.com/
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Algorithm Geeks" group.
>>>> To post to this group, send email to algoge...@googlegroups.com.
>>>> To unsubscribe from this group, send email to
>>>> algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@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 algoge...@googlegroups.com.
>>> To unsubscribe from this group, send email to
>>> algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@googlegroups.com>
>>> .
>>> For more options, visit this group at
>>> http://groups.google.com/group/algogeeks?hl=en.
>>>
>>
>>
>>
>> --
>> Thanks & Regards,
>> Priyanka Chatterjee
>> Final Year Undergraduate Student,
>> Computer Science & Engineering,
>> National Institute Of Technology,Durgapur
>> India
>> http://priyanka-nit.blogspot.com/
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Algorithm Geeks" group.
>> To post to this group, send email to algoge...@googlegroups.com.
>> To unsubscribe from this group, send email to
>> algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@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 algoge...@googlegroups.com.
> To unsubscribe from this group, send email to
> algogeeks+unsubscr...@googlegroups.com<algogeeks%2bunsubscr...@googlegroups.com>
> .
> For more options, visit this group at
> http://groups.google.com/group/algogeeks?hl=en.
>



-- 
Thanks & Regards,
Priyanka Chatterjee
Final Year Undergraduate Student,
Computer Science & Engineering,
National Institute Of Technology,Durgapur
India
http://priyanka-nit.blogspot.com/

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algoge...@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