Dave's solution looks gud to me :) On Wed, Aug 3, 2011 at 3:52 PM, Ankur Garg <[email protected]> wrote:
> Q1 can be looked as rotated sorted array...check whether the no is less or > greater than kth element ..if greater search using binary search with low =0 > high k-1 and if less earch in right with low=k+1 high =n; > > q2) Dont know :( > > > > On Wed, Aug 3, 2011 at 3:44 PM, Dave <[email protected]> wrote: > >> @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 <[email protected]> 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 [email protected]. >> To unsubscribe from this group, send email to >> [email protected]. >> 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 [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.
