python搜索插入位置实例分析
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,这篇文章主要介绍"python搜索插入位置实例分析",在日常操作中,相信很多人在python搜索插入位置实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"pytho
千家信息网最后更新 2025年01月31日python搜索插入位置实例分析
这篇文章主要介绍"python搜索插入位置实例分析",在日常操作中,相信很多人在python搜索插入位置实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"python搜索插入位置实例分析"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
【题目】
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
你可以假设数组中无重复元素。
示例 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
【思路】
1、暴力解法:遍历数组,查找元素。
2、二分查找:题目类型为找到第一个大于等于target的元素,返回其位置。
二分查找一般使用通用代码:
i, j = 0, len(nums) - 1
while i <= j:
mid = (i + j) // 2
if nums[mid] > target:
j = mid - 1
else:
i = mid + 1
return i
# 循环结束后,得到的结果是:nums[j] <= target < nums[i]
# 解释:只要nums[mid]大于target,j就前移,因此最终nums[j]肯定小于等于target;同理,nums[i]大于target。
# 可以发现,最重要的是nums[mid] > target这个式子中的运算符,以及返回的下标,这两个也是通用代码中必须要根据题目进行修改的部分。
# 当nums[mid] > target,最终结果nums[j] <= target < nums[i]
# 当nums[mid] >= target,最终结果nums[j] < target <= nums[i]
怎么使用呢?1)根据题目,找到自己想要的循环后的结果;比如,找到第一个大于target的元素,结果就应该是num[j] <= target < nums[i]。2)写入模板,根据需要更改运算符及返回值;比如,找到第一个大于target的元素,运算符应该是>,返回的是i。
【代码】
python版本
二分查找
class Solution:
def searchInsert(self, nums: List[int], target: int) -> int:
l, r = 0, len(nums) - 1
# 第一个 >= target的元素
# nums[r] < target <= nums[l]
while l <= r:
mid = (l + r) // 2
if nums[mid] >= target:
r = mid - 1
else:
l = mid + 1
return l
到此,关于"python搜索插入位置实例分析"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
位置
数组
结果
实例
实例分析
分析
搜索
元素
示例
题目
学习
输入
输出
代码
目标
目标值
更多
帮助
循环
实用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
工信部5g网络安全管理
房地产 数据库管理系统
软件开发工具参考文献
中国软件开发人员多少
前端程序员要不要会数据库
网络安全采访领导提纲
关于网络安全主题教育的通知
不涉及数据库的毕设
软件开发师推荐
服务器爆炸
服务器好端端的为什么要重启
基本数据库类型有哪些
法制日报网络安全法
服务器管理端口重置
u8数据库跟踪
物联网时代数据库选择
扫描二维码的数据库
网络技术服务合同 英文
幼儿园网络安全活动ppt
数字福建云服务器
配置管理服务器
牡丹江软件开发招聘
北京软件开发的收入
阿里云安全服务器架构
app软件开发使用什么架构
在线oracle服务器
大连松下软件开发吧
阿里云服务器 团购
塔城互联网科技专业怎么样
云盘里的文件是存在数据库的吗