LeetCode 35 搜索插入位置[二分法] HERODING的LeetCode之路

Posted HERODING23

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 35 搜索插入位置[二分法] HERODING的LeetCode之路相关的知识,希望对你有一定的参考价值。

在这里插入图片描述解题思路:
这题是最基础的二分法求解,没有什么技巧,就是不断查找中间值判断是否满足条件,满足的话直接返回,不满足一直寻找,直到左右边界碰头,那么直接返回right即可,此时的right一定是添加的位置,注意right初始值一定是最长长度,因为可能最后的位置就是在最右边添加,代码如下:

class Solution {
public:
    int searchInsert(vector<int>& nums, int target) {
        // 注意right一定是最长长度,因为可能最后的位置就是在最右边添加
        int left = 0, right = nums.size();
        while(left < right) {
            int mid = (left +right) / 2; 
            if(nums[mid] == target) {
                return mid;
            } else if(nums[mid] < target) {
                left = mid + 1;
            } else {
                right = mid;
            }
        }
        return right;
    }
};


/*作者:heroding
链接:https://leetcode-cn.com/problems/search-insert-position/solution/cer-fen-fa-by-heroding-0y8k/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。*/

以上是关于LeetCode 35 搜索插入位置[二分法] HERODING的LeetCode之路的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode第3天 - 704. 二分查找 | 35. 搜索插入位置

LeetCode 35 搜索插入位置[二分法] HERODING的LeetCode之路

用C++写二分查找了!手绘漫画图解LeetCode之搜索插入位置(LeetCode 35)

#leetcode刷题之路35-搜索插入位置

leetcode 每日一题 35. 搜索插入位置

leetcode 每日一题 35. 搜索插入位置