力扣35.搜索插入位置

cpp 复制代码
#include <iostream>
#include <vector>

using namespace std;

class Solution {
public:
    int searchInsert(vector<int>& nums, int target) {
        int n = nums.size();
        int left = 0, right = n - 1, ans = n;
        while (left <= right) {
            int mid = ((right - left) >> 1) + left;//如果不加left那么就只要right与left
            if (target <= nums[mid]) {
                ans = mid;
                right = mid - 1;
            }
            else {
                left = mid + 1;
            }
        }
        return ans;
    }
};

int main() {
    Solution solution;
    vector<int> nums = { 1, 3, 5, 6 ,9};
    int target = 7;
    int result = solution.searchInsert(nums, target);
    cout << "输出: " << result << endl;
    return 0;
}

分析:利用二分法,不停的逼近这个值,如果目标值小于二分法求取的中间索引的这个值,那么首先保存这个索引值,第二右边的索引值等于mid-1,就是向左去夹近。如果target大于这个值则左边界+1,每次mid的值是right-left的和>>1并且加上lef

相关推荐
地平线开发者3 小时前
SparseDrive 模型导出与性能优化实战
算法·自动驾驶
董董灿是个攻城狮3 小时前
大模型连载2:初步认识 tokenizer 的过程
算法
地平线开发者4 小时前
地平线 VP 接口工程实践(一):hbVPRoiResize 接口功能、使用约束与典型问题总结
算法·自动驾驶
罗西的思考4 小时前
AI Agent框架探秘:拆解 OpenHands(10)--- Runtime
人工智能·算法·机器学习
HXhlx7 小时前
CART决策树基本原理
算法·机器学习
Wect8 小时前
LeetCode 210. 课程表 II 题解:Kahn算法+DFS 双解法精讲
前端·算法·typescript
颜酱8 小时前
单调队列:滑动窗口极值问题的最优解(通用模板版)
javascript·后端·算法
Gorway15 小时前
解析残差网络 (ResNet)
算法
拖拉斯旋风15 小时前
LeetCode 经典算法题解析:优先队列与广度优先搜索的巧妙应用
算法
Wect15 小时前
LeetCode 207. 课程表:两种解法(BFS+DFS)详细解析
前端·算法·typescript