要將C++的二分查找函數(shù)修改為左閉右開區(qū)間,只需要稍微調(diào)整一下判斷條件即可。
以下是一個將二分查找函數(shù)修改為左閉右開區(qū)間的示例代碼:
int binarySearch(vector<int>& nums, int target) {
int left = 0, right = nums.size(); // 左閉右開區(qū)間
while (left < right) {
int mid = left + (right - left) / 2;
if (nums[mid] == target) {
return mid;
} else if (nums[mid] < target) {
left = mid + 1;
} else {
right = mid;
}
}
return -1;
}
在這個代碼中,將右邊界right
初始化為nums.size()
,同時在更新右邊界時使用right = mid
,這樣就可以實現(xiàn)左閉右開的區(qū)間范圍。