public int binSearch(int[] nums,int key){
if(nums==null||nums.length<=0) return -1;
int mid,left,right;
left = 0,right = nums.length-1;
while(left<=right){
mid = (right-left)>>1 + left;
if(key > nums[mid]) left = mid+1;
else if(key < nums[mid]) right = mid-1;
else return mid;
}
public int binSearch(int[] nums,int key ,int left ,int right){
if(left > right) return -1;
mid = (right - left) >>1 + left;
if(key < nums[mid]) return binSearch(nums,key,left,mid-1);
else if(key > nums[mid]) return binSearch(nums,key,mid+1,right);
else return mid;
}