bool BinarySearch(int i, int j, vector<int> nums, int target) {
while (i < j) {
int mid = (j - i) / 2 + i;
if (nums[mid] <= target)
i = mid;
else
j = mid - 1;
}
return i;
}
bool BinarySearch(int i, int j, vector<int> nums, int target) {
while (i < j) {
int mid = (j - i) / 2 + i;
if (nums[mid] == target)
return true;
else if (nums[mid] > target)
j = mid - 1;
else
i = mid + 1;
}
return false;
}
bool BinarySearch(int i, int j, vector<int> nums, int target) {
while (i < j) {
int mid = (j - i) / 2 + i;
if (nums[mid] == target)
return true;
else if (nums[mid] > target)
j = mid - 1;
else
i = mid + 1;
}
return false;
}
int main() {
vector<int> nums{1, 2, 2, 3, 5, 6};
int x = BinarySearch(0, 5, nums, 4);
cout << nums[x];
}
原文:https://www.cnblogs.com/tao10203/p/14598844.html