题目描述
解题思路
这种题目一眼看到二分查找的变体,稍微在二分查找的基础上变了一点点,那就是找插入的位置,根据二分查找的原理我们可以知道,当查找失败的时候,会退出while循环,跳出循环的时候左边指针所指的位置就是我们应该将元素插入的位置,因为left所指的位置会比target值要大。
代码
class Solution:
def searchInsert(self, nums: List[int], target: int) -> int:
#很明显的就是二分查找排序
left,right=0,len(nums)-1
while left<=right:
mid=int((left+right)/2)
if nums[mid]==target:
return mid
if nums[mid]<target:
left=mid+1
else:
right=mid-1
return left