Java:
package blueBridge;
import java.util.*;
import java.math.BigInteger;
import java.util.*;
public class testOne {
/*
* 题目
* 有个排序后的字符串数组,其中散布着一些空字符串,编写一个方法,找出给定字符串(肯定不是空字符串)的索引。
* */
static int indexOf(String[] arr,String p) {
int begin=0;
int end=arr.length-1;
while(begin<=end) {
int mid=begin+((end-begin)>>1);
while(arr[mid].equals("")) {
mid++;
if(mid+1>end) {
return -1;
}
}
if(arr[mid].compareTo(p)>0) { //指定的字符串大于目标字符串
end=mid-1;
}else if(arr[mid].compareTo(p)<0){ //指定的字符串大于目标字符串
begin=mid+1;
}else {
return mid;
}
}
return -1;
}
public static void main(String[] args) {
String[] arr= {"a","","ac","ad","b","","ba"};
int res=indexOf(arr,"ad");
System.out.println(res);
}
}