二分查找, Binary Search

时间:2021-04-07 10:57:40   收藏:0   阅读:0
class Solution
{
public:
    int searchInsert(vector<int> &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和<=可能会出现问题。

二分查找属于技巧的一部分,故不多讲。

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!