题目:在有空字符串的有序字符串数组中查找
有个排序后的字符串数组,其中散布一些空字符串,编写一个方法,找出给定字符串(肯定不是空字符串)的索引。
package zifusearch;
public class Chuan {
public static void main(String[] args) {
String[] arr= {"a","","ac","ad","b","","cd"};
int res=indexOf(arr,"b"); //需要找的目标字符
System.out.println(res); //输出在数组中的位置
}
private static int indexOf(String[] arr,String p) {
int begin=0;
int end=arr.length-1;
while(begin<=end)
{
int indexOfMid=begin+(end-begin>>1); //向后移一位
while(arr[indexOfMid].equals("")) //当中间的字符为空字符串时
indexOfMid++; //中间值向左或者向右移动一位
if(arr[indexOfMid].compareTo(p)>0){ //目标字符小于中间值
end=indexOfMid-1; //前半部分查找
}
else if(arr[indexOfMid].compareTo(p)<0) { //目标字符大于中间值
begin=indexOfMid+1;
}
else
return indexOfMid;
}
return end;
}
}
问题:求a的n次幂
package adencimi;
public class Mi {
public static void main(String[] args) {
int n=15;
int a=2;
int res=pow0(a,n);
System.out.println(res);
}
private static int pow0(int a,int n) {
int res=1;
for(int i=0;i<n;i++) {
res*=a;
}
return res;
}
}