https://leetcode-cn.com/problems/search-insert-position/
class Solution:
def searchInsert(self, nums: List[int], target: int) -> int:
"""
搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引
如果目标值不存在于数组中,返回它将被按顺序插入的位置,数组中无重复元素
"""
i, j = 0, len(nums) - 1
while i <= j:
in_middle = (j + i) // 2
if nums[in_middle] == target:
return in_middle
elif nums[in_middle] < target:
if in_middle == len(nums) - 1 or target < nums[in_middle + 1]:
return in_middle + 1
i = in_middle + 1
else:
j = in_middle - 1
return 0