题目描述
根据图中红色矩形框内可知,要用到二分查找。
代码:
class Solution(object):
def searchInsert(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: int
"""
left=0
right=len(nums)-1
while left<=right:
mid=(right-left)//2+left
if nums[mid]==target:
return mid
elif target < nums[mid]:
right=mid-1
else:
left=mid+1
# 以上和二分查找一样,解决的是其中一个子问题,查找的元素在数组里面,即返回对应的下标
#还有3种可能,分别是,加入最前面,加入数组中的某一位置,加入到最后,可以在纸上画一下,可以看出对应的是left的下标
return left