@Tech: Let the array be a[n] and the number you are searching for be
x. It is going to take at least abs( a[i] - x ) steps from the current
position before a[i] can possibly equal x. Therefore,

int searchStepArray( int x, int n, int a[])
{
    int i=0;
    while( i < n && a[i] != x )
        i += abs( a[i] - x );
    return i < n ? i : -1 // return -1 for failure
}

Dave

On Aug 29, 10:54 pm, tech coder <[email protected]> wrote:
> There is an array and the distance between any two consequent elements is
> one(+1 or -1) and given a number. You have to check whether the number is in
> array or not with minimum complexity.

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

Reply via email to