标签:interview
Normal O(n).
But A better one?
Let‘s binary search.
int search (String[] a, String s)
{
return search(a, 0, a.length - 1, s);
}
int search (String[] a, int l, int h, String s)
{
if (l > h)
return -1;
int m = (l + h) / 2;
// Move to first non empty string
int nm = m;
while (a[nm].isEmpty())
{
nm ++;
if (nm > h) return -1;
}
if (a[nm] == s)
return nm;
else if (a[nm] > s)
return search(a, l, m - 1, s);
else
return search(a, nm + 1, h, s);
}标签:interview
原文地址:http://7371901.blog.51cto.com/7361901/1586519