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最终是可以通过的

相关推荐
I_LPL1 小时前
hot100贪心专题
数据结构·算法·leetcode·贪心
颜酱1 小时前
DFS 岛屿系列题全解析
javascript·后端·算法
WolfGang0073212 小时前
代码随想录算法训练营 Day16 | 二叉树 part06
算法
2401_831824963 小时前
代码性能剖析工具
开发语言·c++·算法
Sunshine for you4 小时前
C++中的职责链模式实战
开发语言·c++·算法
qq_416018724 小时前
C++中的状态模式
开发语言·c++·算法
2401_884563244 小时前
模板代码生成工具
开发语言·c++·算法
2401_831920744 小时前
C++代码国际化支持
开发语言·c++·算法
m0_672703314 小时前
上机练习第51天
数据结构·c++·算法
ArturiaZ5 小时前
【day60】
算法·深度优先·图论