leetcode hot 100 二叉搜索

35. 搜索插入位置

已解答

简单

相关标签

相关企业

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

请必须使用时间复杂度为 O(log n) 的算法。

class Solution(object):

def searchInsert(self, nums, target):

"""

:type nums: List[int]

:type target: int

:rtype: int

"""

l = 0

r =len(nums)-1

while l<=r :

mid = (l+r)/2

if nums[mid] < target:

l = mid+1

elif nums[mid] > target:

r = mid -1

else:

return mid

if nums[mid]>target:

return mid

else:

return mid+1

记住这里的方法,lr复制,然后条件为l<=r ,然后l=mid+1 r=mid-1最终是可以通过的

相关推荐
艾莉丝努力练剑31 分钟前
【洛谷刷题】用C语言和C++做一些入门题,练习洛谷IDE模式:分支机构(一)
c语言·开发语言·数据结构·c++·学习·算法
闪电麦坤952 小时前
数据结构:迭代方法(Iteration)实现树的遍历
数据结构·二叉树·
C++、Java和Python的菜鸟2 小时前
第六章 统计初步
算法·机器学习·概率论
Cx330❀2 小时前
【数据结构初阶】--排序(五):计数排序,排序算法复杂度对比和稳定性分析
c语言·数据结构·经验分享·笔记·算法·排序算法
散1122 小时前
01数据结构-Prim算法
数据结构·算法·图论
起个昵称吧2 小时前
线程相关编程、线程间通信、互斥锁
linux·算法
..过云雨3 小时前
01.【数据结构-C语言】数据结构概念&算法效率(时间复杂度和空间复杂度)
c语言·数据结构·笔记·学习
myzzb3 小时前
基于uiautomation的自动化流程RPA开源开发演示
运维·python·学习·算法·自动化·rpa
拂晓银砾3 小时前
Java数据结构-栈
java·数据结构
旺小仔.4 小时前
双指针和codetop复习
数据结构·c++·算法