二分法算法
数组:[2,7,7,8,8,10]
模板1(向下取整)
while(left<right) {
int mid=(right+left)>>1;
if(nums[mid]<target)left=mid+1;
else right=mid;
}
在模板1中,假设target=8出来的right是3;
模板2(向上取整)
while(left<right) {
int mid=(right+1+left)>>1;
if(nums[mid]>target)right=mid-1;
else left=mid;
}
模板2,假设target=7 ,运行后left=2;