【算法|二分查找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;
    }
};
相关推荐
代码中介商13 小时前
LRU缓存算法:双向链表+哈希表实现
算法·链表·缓存
lqqjuly13 小时前
计算理论—图灵机、复杂性、信息论与机器学习的理论基础
算法
Hiter_John14 小时前
Golang的循环语句
开发语言·算法·golang
磊 子14 小时前
STL算法库讲解1
开发语言·c++·算法
8Qi814 小时前
LeetCode 474:一和零(Ones and Zeroes)—— 题解 ✅
算法·leetcode·职场和发展·动态规划·01背包
stolentime14 小时前
CF2066D2 Club of Young Aircraft Builders (hard version)题解
c++·算法·动态规划·组合数学
一个不知名程序员www14 小时前
算法学习入门---算法题DAY3
c++·算法
七夜zippoe14 小时前
DolphinDB向量化计算:高性能数据处理
算法·dolphindb
悠仁さん14 小时前
哈夫曼树的简单介绍
算法
bIo7lyA8v14 小时前
算法与数据结构协同优化的设计思想的技术8
数据结构·算法