哈哈这是数学题,考虑到数组有序而且等数组中target数字可能有n个,二分查找过程当中,如果数组中出现等于target的数且该数的前一个数小于target,那说明我们要找那个target的下标就是我们要找的。如果找到的target数等于target,但是它前一个数等于target的也当作大于target来处理,就和普通的二分查找处理是一致的。 还要注意是否是空数组和找不到等于target数字的情况 下边是代码处理 int lo, mid, hi; if (!numsLen) return -1; mid = numsLen / 2; ...