其实是传统二分查找的一点变形:
需要找到数组中出现的第一个元素。
比如数组元素是 1 2 2 2 3 4 5
查找2的话,返回数组下标为1,而不是2或者3
# include int FirstBinSearch(int a[], int n, int key) { int l = 0, r = n-1; int ret = -1; while( l <= r ) { int m = ( l + r ) / 2; if( a[m] > key) r = m -1; else if ( a[m]