Given an array A[n] such that A[i+1] = A[i]+1 OR A[i]-1, and a number k, can you determine in most efficient way whether k is present in A[n] or not?
C implementation of the solution
Idea 1 : (Pure Linear Search)
C implementation of the solution
Idea 1 : (Pure Linear Search)
bool find1(int a[], int k, int len){ for( int i = 0; i < len; i++) if( a[i] == k) return true; return false; }Idea 2 :(Optimized)
bool find2(int a[], int k, int len){ int i = 0; while(i < len){ if(a[i] == k)return true; i += abs(k - a[i]); } return false; }
No comments:
Post a Comment