leetcode-二分查找

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

int find(vector<int> &nums, int target) {
if (nums.empty())
return -1
int low = 0;
int high = nums.size() -1;
while (low <= high) {
int mid = low + (high -low) /2;
if (nums[mid] < target)
low = mid + 1;
else
high = mid - 1;
}
return low;
}

二分查找有很多变种 注意一些细节问题