eg:
000111111111
must return 4
Binary search
foo(int a[], int min, int max)
{
if(min==max) return min;
int mid=(min+max)/2;
if(a[mid]==1)
return foo(a,min,mid);
else
return foo(a,mid+1,max);
}
DFS the life without backtracking
foo(int a[], int min, int max)
{
if(min==max) return min;
int mid=(min+max)/2;
if(a[mid]==1)
return foo(a,min,mid);
else
return foo(a,mid+1,max);
}
No comments:
Post a Comment