leetcode 35.搜索插入的位置 python

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

请必须使用时间复杂度为 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 <= nums[i] <= 104

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

  • -104 <= target <= 104

    python 复制代码
    class Solution://采用二分查找,相关内容请查阅数据结构
        def searchInsert(self, nums: List[int], target: int) -> int:
            l,r = 0,len(nums)-1
            while(l<=r):
                mid = int((l+r)/2)
                if(target>nums[mid]):
                    l = mid + 1
                else:
                    r = mid - 1
            return l//当左下标大于右下标时,该左下标即为目标插入位置
相关推荐
吴佳浩2 小时前
GPU 编号进阶:CUDA\_VISIBLE\_DEVICES、多进程与容器化陷阱
人工智能·pytorch·python
Liu628883 小时前
C++中的工厂模式高级应用
开发语言·c++·算法
全栈凯哥3 小时前
18.Python中的导入类完全指南
python
AI科技星3 小时前
全尺度角速度统一:基于 v ≡ c 的纯推导与验证
c语言·开发语言·人工智能·opencv·算法·机器学习·数据挖掘
sunwenjian8863 小时前
Java进阶——IO 流
java·开发语言·python
参.商.3 小时前
【Day41】143. 重排链表
leetcode·golang
条tiao条4 小时前
KMP 算法详解:告别暴力匹配,让字符串匹配 “永不回头”
开发语言·算法
guts3504 小时前
图像篡改数据集下载:COVERAGE、CASIA
python·数据集
干啥啥不行,秃头第一名4 小时前
C++20概念(Concepts)入门指南
开发语言·c++·算法
森林猿4 小时前
java-modbus-读取-modbus4j
java·网络·python