1.问题:
2. Java解法
2.1 binarySearch.java
/**
* @Solution of Binary Search
* @author xin_wang
*
*/
public class binarySearch {
public int binarysearch(int[] num,int target){
if(num==null||num.length==0){
return -1;
}
int start=0;
int end=num.length-1;
//Take care of Judge condition
while(start+1<end){
int mid=start+(end-start)/2;
if(num[mid]==target){
return mid;
}else if(num[mid]>target){
end=mid;
}else{
start=mid;
}
}
//whileLoop condition is(start+1<end),if num contains 2 elements,while Loop break,so add following codes
if(num[start]==target){
return start;
}
if(num[end]==target){
return end;
}
return -1;
}
}
/**
* @main()
* @author xin_wang
*
*/
public class binarySearchTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
binarySearch bs=new binarySearch();
int[] a={1,7};
int b=7;
System.out.println(bs.binarysearch(a,b));
}
}
3.输出:1