下面代码实现了二分查找算法,在数组 arr 找到目标元素 target 的位置,则横线上能填写的最佳代码 是( )。
int binarySearch(int arr[], int left, int right, int target) {
while (left <= right) {
________________________________ // 在此处填入代码
if (arr[mid] == target)
return mid;
else if (arr[mid] < target)
left = mid + 1;
else
right = mid - 1;
}
return -1;
}
- A. int mid = left + (right - left) / 2;
- B. int mid = left;
- C. int mid = (left + right) / 2;
- D. int mid = right;
正确答案:A