二分法
int findtar(vector<int>& nums, int tar)
{
int l = 0;
int r = nums.size() - 1;
while (l <= r)//需要有等于,否则会漏掉这个数
{
int mid = l + (r - l) / 2;
if (tar < nums[mid]) {
r = mid - 1;
}
else if (nums[mid] < tar)
{
l = mid + 1;
}
else
{
return mid;//找到就直接返回
}
}
return -1;
}