給定一個排序數(shù)組和一個目標值,在數(shù)組中找到目標值,并返回其索引。如果目標值不存在于數(shù)組中,返回它將會被按順序插入的位置。
你可以假設(shè)數(shù)組中無重復(fù)元素。
nums = [1, 3, 5, 7]
target =6
def searchInsert(nums, target):
if len(nums) == 0: return 0
if target < nums[0]: return 0
if target > nums[-1]: return len(nums)
left = 0
right = len(nums) - 1
while (left <= right):
mid = left + (right - left) // 2
if target > nums[mid]:
left = mid + 1
elif target < nums[mid]:
right = mid - 1
else:
return mid
return left
print(searchInsert(nums, target))
class Solution:
def searchInsert(self, nums: List[int], target: int) -> int:
if len(nums) == 0: return 0
if target < nums[0]: return 0
if target > nums[-1]: return len(nums)
left = 0
right = len(nums) - 1
while (left <= right):
mid = left + (right - left) // 2
if target > nums[mid]:
left = mid + 1
elif target < nums[mid]:
right = mid - 1
else:
return mid
return left