# 35 搜索插入位置

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。

你可以假设数组中无重复元素。

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

你可能感兴趣的:(# 35 搜索插入位置)