【算法|二分查找No.3】leetcode 35. 搜索插入位置

个人主页:兜里有颗棉花糖

欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创

收录于专栏【手撕算法系列专栏】【LeetCode

🍔本专栏旨在提高自己算法能力的同时,记录一下自己的学习过程,希望对大家有所帮助

🍓希望我们一起努力、成长,共同进步。

原题链接:点击直接跳转到该题目

目录

1️⃣题目描述

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。

请必须使用时间复杂度为 O(log n) 的算法。

示例1:

输入: nums = [1,3,5,6], target = 5

输出: 2

示例2:

输入: nums = [1,3,5,6], target = 2

输出: 1

实例3:

输入: nums = [1,3,5,6], target = 7

输出: 4

2️⃣代码编写

cpp 复制代码
class Solution {
public:
    int searchInsert(vector<int>& nums, int target) {
        int l = 0,r = nums.size() - 1;
        while(l < r)
        {
            int mid = l + (r - l) / 2;
            if(nums[mid] < target) l = mid + 1;
            else r = mid;
        }
        if(nums[l] < target) return l + 1;
        return l;
    }
};
相关推荐
珂朵莉MM13 小时前
第七届全球校园人工智能算法精英大赛-算法巅峰赛产业命题赛第3赛季优化题--碳中和
人工智能·算法
良木生香13 小时前
【数据结构-初阶】详解线性表(2)---单链表
c语言·数据结构·算法
牛三金13 小时前
魔改-隐语PSI通信,支持外部通信自定义
服务器·前端·算法
菜鸟233号13 小时前
力扣106 从中序与后序遍历序列构造二叉树 java实现
java·算法·leetcode
Donald_wsn13 小时前
牛客 栈和排序 C++
数据结构·c++·算法
沃达德软件13 小时前
智慧警务实战模型与算法
大数据·人工智能·算法·数据挖掘·数据分析
LYFlied13 小时前
LeetCode热题Top100:核心算法思想与前端实战套路
前端·算法·leetcode·面试·算法思想·算法套路·解题公式
coderxiaohan13 小时前
【C++】红黑树的实现
数据结构·c++·算法
AganTee13 小时前
儿童编程学什么内容?怎么学?(附3个实用工具)
算法·青少年编程·推荐算法
coderxiaohan13 小时前
【C++】封装红黑树实现mymap和myset
数据结构·c++·算法