千家信息网

Leetcode如何搜索插入位置

发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,小编给大家分享一下Leetcode如何搜索插入位置,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!题目描述:给定一个排序数组
千家信息网最后更新 2025年01月24日Leetcode如何搜索插入位置

小编给大家分享一下Leetcode如何搜索插入位置,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

题目描述:
给定一个排序数组和一个目标值,在数组中找到目标值并返回其索引。若无目标值,则假设其插入到数组的对应位置,返回该位置的索引(假设数组无重复)

例如:
input:[1, 3, 5, 6] 5out:2

input:[1, 3, 5, 6] 2out:1
input:[1, 3, 5, 6] 7out:4


本文由"壹伴编辑器"提供技术支持

第一次尝试

数组:nums

目标值:target

从左到右遍历数组,当nums[i]==target时,返回此刻的索引值i。当nums[i]>target时说明数组里面无目标值,并且target应该就插入到此刻的i处,故索引值也是i

  • nums[i] == target:返回索引值 i

  • nums[i] > target:也是返回索引值 i

速度并不快




优化算法--二分查找


曾经有个小品:奇志和大兵去看病,医生让他做了心肝脾肺肾的全面检查,最后告诉他你就得了个感冒。虽然这是一个段子,但也映射出了一种治思维

二分法思想(减治):将【待搜索区域】划分为【含目标区域】和【不含目标区域】,不断的排除掉【不含目标区域】,最后剩下【含目标区域】

二分查找算法:

  • 利用三个游标:left、right、mid不断缩小区间

  • 在使用二分查找算法时要思考2个问题

    (1)返回 right 还是 left

    (2)区域边界如何设置


本文由"壹伴编辑器"提供技术支持

本题做法:

  • 设置left、right、mid三个参数

  • 循环条件为 while left<= right

  • 区间的划分方法:

    (1)mid=target时:返回mid

    (2)mid>target时:right = mid-1

    (3)mid

  • 此方法最后函数返回left(left始终对应target的位置即索引)



Python内置函数方法

对于python,这是代码最简洁的一个方法--利用内置函数

  1. 先判断target是否存在于nums,存在直接返回index

  2. 若不在,则添加这个target进去nums,然后数组排序,返回target索引


本文由"壹伴编辑器"提供技术支持

其实也可以不判断是否在数组中,反正出现重复,返回索引也是返回的第一个

二分法小结

  • 三个游标:left、right、mid

  • 要确定好区间划分方法(left、right如何移动)

  • 确定好函数最后返回的是哪个值(通过演算)

以上是"Leetcode如何搜索插入位置"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

数组 目标 索引 区域 位置 目标值 函数 方法 搜索 三个 区间 技术 技术支持 算法 篇文章 编辑器 支持 不断 二分法 内容 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 奶块为什么不更新服务器 依兰软件开发 网络安全法实施条例第五十一条 2021微信埋雷软件开发 软件开发员工培训费可以计入 方舟服务器卡白框 前端工作时会用到数据库吗 黎明杀机屠夫最菜的是哪个服务器 淘宝数据库需求 软件开发 概算编制 办法 如何用代码创建数据库表格 互联网开发和软件开发有区别 预防网络安全的责任在政府 软件开发人员se 服务器 github慢 软件开发工作职责和要求 数据库工程师需要什么不同 公司服务器查浏览记录 真正的网络安全大赛现场视频 网络安全审批表设计论文要求 闪烁之光如何找到自己的服务器 前端工作时会用到数据库吗 幼儿园网络安全教育画手抄报 土拨鼠网络技术待遇怎么样 罗湖粮食局 软件开发 sql数据库恢复模式 成都科技园互联网 南通百汇网络技术有限公司 网络软件开发及技术专业 辽宁梦泽互联网科技有限公司
0