leetcode 34 在排序数组中查找元素的第一个和最后一个位置
思路
经典二分查找。
题解
1:分为[l,mid]&[mid+1,r]时
int bsearch1(int l, int r, int target){
while(l < r){
int mid = (l + r) / 2;
if(target < mid) r = mid;
else l = mid - 1
}
return l
}
2:分为[l,mid-1]&[mid,r]时
int bsearch2(int l, int r, int target){
while(l<r){
int mid = (l + r + 1) / 2;
if(target < mid) r = mid;
else l = mid - 1;
}
}