首页 > 其他分享 >搜索插入位置

搜索插入位置

时间:2024-11-17 23:44:46浏览次数:3  
标签:right target nums int 位置 mid 插入 搜索 left

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

示例 1:
输入: [1,3,5,6], 5
输出: 2

示例 2:
输入: [1,3,5,6], 2
输出: 1

示例 3:
输入: [1,3,5,6], 7
输出: 4

示例 4:
输入: [1,3,5,6], 0
输出: 0

class Solution:
    def searchInsert(self, nums: List[int], target: int) -> int:
         # 不管这个数在不在里面,直接append
        nums.append(target)
        # 然后再排序
        nums.sort()
        # 最后返回查找的index
        return nums.index(target)

二分法

class Solution:
    def searchInsert(self, nums: List[int], target: int) -> int:
        size = len(nums)
        if size == 0:
            return 0

        # 特判
        if nums[size - 1] < target:
            return size

        left = 0
        right = size - 1

        while left < right:
            # left + right 在 Python 中如果发生整型溢出,Python 会自动转成长整形
            mid = (left + right) // 2
            # 严格小于 target 的元素一定不是解
            if nums[mid] < target:
                # 下一轮搜索区间是 [mid + 1, right]
                left = mid + 1
            else:
                # 下一轮搜索区间是 [left, mid]
                right = mid
        return left

标签:right,target,nums,int,位置,mid,插入,搜索,left
From: https://blog.csdn.net/baidu_1234567/article/details/143841378

相关文章

  • 海康视频监控云台位置切换与拍照图片下载
    以下是一篇关于如何通过API控制摄像头并获取照片的文章。文章详细介绍了整个过程,包括设置摄像头位置、获取照片以及保存照片的步骤。如何通过API控制摄像头并获取照片引言随着物联网技术的发展,摄像头在各种应用场景中变得越来越重要,从家庭安全监控到工业自动化,再到智能交......
  • 阿里巴巴搜索API:电商商品信息实时更新的工具
    在电子商务领域,商品信息的实时更新对于保持竞争力至关重要。阿里巴巴提供的搜索API,特别是智能开放搜索OpenSearch,为电商平台提供了强大的工具,以实现商品信息的实时更新和高效管理。本文将探讨阿里巴巴搜索API的功能、优势,并提供代码示例,展示如何利用这些API进行商品信息的实时......
  • C#UI自动化实现微信自动搜索聊天文件并发送
    用到了两个程序包,FlaUI .Core,FlaUI.UIA3,在VS的扩展里可以下载安装这两个程序包,UI自动化是用来实现自动测试程序流程的,减少人工测试的成本。有需要源程序的私信我。获取微信窗口句柄 voidGetWxHandle(){varprocess=Process.GetProcessesByNam......
  • Python+Flask实现搜索引擎,万能搜索框
    万能框指同时支持股票、基金、新闻搜索和命令查询等。下面按新闻、股票、基金检索顺序介绍。一、新闻搜索引擎主要技术当你用Python+Selenium下载新闻之后,如何下载参考上篇博文,就会面临新闻搜索的问题。自己做一个搜索引擎的优点很明显,没有广告,节省时间,如图的比较:搜索......
  • 一分钟教你社工原理:shodan暗黑搜索引擎使用方法,黑客技术零基础入门到精通教程!
    简介Shodan是个啥?之前没听说过吗?那可要小声说你是做安全的,会被人笑话。如果说百度、谷歌是名门正派,那Shodan就是典型的魔教一般的存在;如果百度、谷歌是一招一式都遵规守矩的江湖大侠,那Shodan就是专踢人裤裆的市井混混。和百度、谷歌干的事儿类似,但Shodan专搜各家各户IT系......
  • 通过MongoDB Atlas 实现语义搜索与 RAG——迈向AI的搜索机制
    目录通过MongoDBAtlas实现语义搜索与RAG——迈向AI的搜索机制一、引言二、语义搜索与MongoDBAtlas的背景三、MongoDBAtlas的向量搜索功能1.向量搜索的实现方式2.典型操作示例四、RAG在MongoDBAtlas的应用1、RAG是什么2、RAG的实现过程3、RAG的实际应......
  • 第23课-C++-红黑树的插入与旋转
    ......
  • 百度地图、高德地图收藏夹位置信息导出小工具分享
    很多人在地图应用中收藏了很多的位置,但是一旦想要更换地图软件时,就会遇到地图软件里面收藏的位置信息没办法导出的问题。经实际使用发现目前高德地图、百度地图都没有提供收藏夹位置导出的功能。看到贴吧、小红书很多网友在咨询如何将百度地图、高德地图中收藏的位置信息导出,网......
  • 79. 单词搜索
    题目链接解题思路一道回溯的题目。我现在在[i,j],然后处理到单词的index位置,index之前的都已经解决了,现在要往哪走?很明显如果[i+1,j]的位置等于index的单词,我可以去「试试」能不能走通。所以其实很简单,每当来到[i,j],单词index,我就看上下左右四个位置,如果和index的位置......
  • MobileViT-v1-所有patch内相对位置相同的token之间计算自注意力
    paperdefmy_self(x:torch.Tensor):'''通过这段代码可以把每张图片图片中相对位置相同的若干个tokens放到最后两个维度'''#[B,C,H,W]->[B,C,n_h,p_h,n_w,p_w]#n_h是高度方向上可以分多少个patchp_hpatch的高度n_w宽度方向上可以......