35. 搜索插入位置

35. 搜索插入位置

  • 题目-简单难度
  • [1. 直接while-loop遍历](#1. 直接while-loop遍历)
  • [2. 二分法](#2. 二分法)

题目-简单难度

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

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

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/summary-ranges
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

1. 直接while-loop遍历

python 复制代码
class Solution(object):
    def searchInsert(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: int
        """
        # 设置索引
        i = 0
        # 遍历列表
        while i < len(nums):
            # 如果发现
            if nums[i] >= target:
                return i
            i+=1
        return len(nums)

2. 二分法

python 复制代码
class Solution(object):
    def searchInsert(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: int
        """
        # 设置左右指针
        l,r = 0, len(nums)-1
        # 当左右指针间仍然有元素未遍历
        while l <= r:
            # 设置中间元素位置
            m = l + (r-l)//2
            # 判断中间元素是否比要找到元素大
            # 大或者相等的情况 设置右侧边界为m-1
            if nums[m] >= target:
                r = m - 1
            # 小于的情况 设置左侧边界为m+1
            else:
                l = m + 1
        # 返回左指针元素
        return l
相关推荐
小O的算法实验室几秒前
2026年CIE SCI2区TOP,用于地质灾害监测的配备自主对接站的无人机多航次路径规划,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
Go_Zezhou8 分钟前
render网站保存历史记录错误解决
开发语言·git·python·html
仟濹8 分钟前
【算法打卡day9(2026-02-14 周六)算法:并查集】 4-卡码网108-冗余连接
算法
hoiii18719 分钟前
拉丁超立方抽样(LHS)的MATLAB实现:基本采样与相关采样
开发语言·算法
不想看见40421 分钟前
旋转数组查找数字--力扣101算法题解笔记
数据结构·算法
~央千澈~22 分钟前
抖音弹幕游戏开发之第6集:解析JSON数据·优雅草云桧·卓伊凡
开发语言·python·php
好学且牛逼的马24 分钟前
【Hot100|24-LeetCode 141. 环形链表 - 完整解法详解】
算法·leetcode·链表
yxc_inspire24 分钟前
2026年寒假牛客训练赛补题(六)
算法
郝学胜-神的一滴25 分钟前
深入解析Python中dict与set的实现原理
开发语言·python
ELI_He99925 分钟前
ReActor Face NSFW: HTTP Error 502: Bad Gateway
python·comfy