@sukhmeet, as per the question, there is a unique value which satisfy
a[i] = i in the array and written code captures that only. Else we
need to modify if we are interested in all such values which statisfy
the said condition. And also in that case looping around bsearch will
not be a good idea.. it will be better to go for simple loop in o(n)
time as every time mid calculation is also costly. I agreed to Arpit
view point and accordingly did coding as preetika needed as per arpit
comments.

Cheers!!
Ankit

On Thu, Mar 3, 2011 at 6:53 PM, sukhmeet singh <sukhmeet2...@gmail.com> wrote:
> what should be the answer for this:
> if A={0,1,2,4,5}
> 0 or 1 or 2
> On Thu, Mar 3, 2011 at 6:26 PM, Ankit Sinha <akki12...@gmail.com> wrote:
>>
>> Hi,
>>
>> Here is the code to do this using Bsearch in o(logn) time.
>>
>> int BsearchElemEqualIndex (int *a, int start, int end)
>> {
>>        int mid = (((end - start) >> 1) + start);
>>        if (a[mid] == mid)
>>                return a[mid];
>>        else if (a[mid] != mid)
>>        {
>>                if (mid == start || mid == end)
>>                {
>>                        return -1;
>>                }
>>                else
>>                {
>>                        BsearchElemEqualIndex (a, start, mid);
>>                        BsearchElemEqualIndex (a, mid + 1, end);
>>                }
>>        }
>> }
>>
>> int _tmain(int argc, _TCHAR* argv[])
>> {
>>        int a[SIZE] = {5,9,3,8,1,2,6,7};
>>        int x = BsearchElemEqualIndex (a, 0, SIZE);
>>        printf ("%d", x);
>>        system ("PAUSE");
>>        return 0;
>> }
>>
>> Cheers,
>> Ankit!!!
>>
>> On Thu, Mar 3, 2011 at 11:04 AM, Param10k <paramesh...@gmail.com> wrote:
>> > There is a sorted array and you have to write a fn to find a number in
>> > the array which satisfies
>> >
>> > A[i] = i ; where A is the array and i is the index...
>> >
>> > - Param
>> > http://teknotron-param.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 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