LeetCode 35. 搜索插入位置

LeetCode 35. 搜索插入位置

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

请必须使用时间复杂度为 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

提示:

1 <= nums.length <= 104

-104 <= numsi <= 104

nums 为 无重复元素 的 升序 排列数组

-104 <= target <= 104

二分查找

python 复制代码
class Solution:
    def searchInsert(self, nums: List[int], target: int) -> int:
        left, right = 0, len(nums) - 1
        while left <= right:
            mid = left + ((right - left) >> 1)
            if nums[mid] < target:
                left = mid + 1
            elif nums[mid] > target:
                right = mid - 1
            else:
                return mid
        return left
相关推荐
MegaDataFlowers16 分钟前
101.对称二叉树
算法
Jasmine_llq35 分钟前
《B3939 [GESP样题 四级] 绝对素数》
数据结构·算法·素数判断算法·数字拆分与反转算法·区间遍历枚举·双条件判断逻辑
郝学胜-神的一滴1 小时前
干货版《算法导论》07:递归视角下的选择排序与归并排序
java·数据结构·c++·python·程序人生·算法·排序算法
csdn_aspnet1 小时前
javascript 算法 LeetCode 编号 70 - 爬楼梯
开发语言·javascript·算法·leetcode·ecmascript
shehuiyuelaiyuehao1 小时前
多线程入门
java·python·算法
Navigator_Z1 小时前
LeetCode //C - 1073. Adding Two Negabinary Numbers
c语言·算法·leetcode
醇氧1 小时前
【OpenClaw】更换阿里百炼完整配置指南
算法·ai
Tina学编程1 小时前
[HOT100]每日一练------最长连续序列
算法·hot 100
csdn_aspnet2 小时前
PHP 算法 LeetCode 编号 70 - 爬楼梯
算法·leetcode·php
沈浩(种子思维作者)2 小时前
没有错误,正确将一文不值
人工智能·python·算法·量子计算