@Tushar: For problem 1, do a binary search on elements 1 to k, and if
no hit is found, do a binary search on elements k+1 to n.

For problem 2, suppose that you are searching the given array for the
number 2. The idea is to take big steps when you are far from the
target, and small steps when you are close. Start with i = 0. If a[i] !
= 2, then add abs(a[i]-2) to i and try again. This is because it will
take at least abs(a[i]-2) steps to get to 2.

 In this case, i = 0 and a[0] = 6, so add 4 to i, getting 4. a[4] = 4,
so add 2 to i, getting 6. a[6] = 3, so add 1. a[7] = 2.

Dave

On Aug 3, 2:09 pm, TUSHAR <tusharkanta.r...@gmail.com> wrote:
> 1.   Given an array of n-elements ? the 1st k -elements are in
> descending order and k+1 to n elements are in
>       ascending order. give an  efficient algo for searching an
> element ?
>
> 2.  Given an array of n-elements ? each element in the array is either
> same or less by 1 or larger by 1 from the
>      previous element . give an  efficient algo for searching an
> element ?
>
>           e.g :   6 6 6 5 4 4 3 2 3 4 3 4 ............

-- 
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