二分查找, Binary Search
时间:2022-05-11 09:46
class Solution
{
public:
int searchInsert(vector &nums, int target)
{
int low = 0;
int high = nums.size() - 1;
//为了严谨 <=
while (low <= high)
{
int mid = (low + high) / 2;
if (nums[mid] < target)
//为了严谨 +1
low = mid + 1;
else
//为了严谨 -1
high = mid - 1;
}
return low;
}
};
以上三个位置如果不+-1和<=可能会出现问题。
二分查找属于技巧的一部分,故不多讲。