力扣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

相关推荐
myw07120524 分钟前
Leetcode94.二叉数的中序遍历练习
c语言·数据结构·笔记·算法
songx_9929 分钟前
leetcode(填充每个节点的下一个右侧节点指针 II)
java·数据结构·算法·leetcode
chenyuhao202431 分钟前
vector深度求索(上)实用篇
开发语言·数据结构·c++·后端·算法·类和对象
@Zeker1 小时前
并查集(Union-Find)数据结构详解
数据结构
minstbe2 小时前
半导体数据分析:GPR算法小白入门(三) 晶体管I-V特性仿真教程
算法
未知陨落2 小时前
LeetCode:60.单词搜索
算法·leetcode
mmz12072 小时前
动态规划 练习(c++)
c++·算法·动态规划
tqs_123453 小时前
分sheet写入excel
开发语言·python·算法
西望云天3 小时前
基础组合计数(三道例题)
数据结构·算法·icpc
小灰灰的FPGA4 小时前
29.9元汉堡项目:基于matlab+FPGA的FFT寻峰算法实现
算法·matlab·fpga开发