from:acwing
int search_1(int l, int r){ while(l < r){ int mid = l + r >> 1; if(array[mid] >= Find_Num)r = mid; else l = mid + 1; } return r;//return l;此时l == r,为最左边的Find_Num下标 } int search_2(int l, int r){ while(l < r){ int mid = l + r + 1 >> 1; if(array[mid] <= Find_Num)l = mid; else r = mid - 1; } return l;//return r;此时l == r,为最右边的Find_Num下标 }
原文:https://www.cnblogs.com/warmingtxdy/p/14615045.html