假设我们有一个升序排列的整数数组arr,我们希望使用二分查找算法找到整数target的索引。如果我们希望找到target的最后一个出现位置(如果存在多个相同的target),根据以下C++代码,下列选项正确的是。
int binarySearchLastOccurrence(const vector& arr, int target) {
int left = 0, right = arr.size() - 1, result = -1;
while (left <= right) {
int mid = left + (right - left) / 2;
if (arr[mid] == target) {
result = mid; // 找到目标值,保存索引
______________// 继续在右侧查找最后一个出现位置
} else if (arr[mid] < target) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return result;}