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之路