First Position of Target
解题小规律:
当 mid < target, 小start,大end first end, last start;
public int binarySearch(int[] nums, int target) {
if( nums == null || nums.length == 0 ){
return 0;
}
int start = 0;
int end = nums.length;
while ( start + 1 < end ){
int mid = start + ( end - start) / 2;
if ( nums[ mid ] < target ){
start = mid;
}else {
end = mid;
}
}
if ( nums[start] == target) return start;
if ( nums[end] == target) return end;
return -1;
}
}