这是一个在 LeetCode 上非常经典的问题,主要考察的是二分查找算法的应用。下面我将用 Python 语言来演示如何解决这个问题。
问题描述
给定一个排序数组和一个目标值,在数组中找到目标值应该被插入的位置以便保持数组的排序。
示例
假设有数组 nums = [1, 3, 5, 6]
和目标值 target = 5
,则应该返回索引 2
。
解题思路
使用二分查找算法,找到目标值应该插入的位置。
Python 代码实现
def searchInsert(nums, target):
left, right = 0, len(nums) - 1
while left <= right:
mid = (left + right) // 2
if nums[mid] == target:
return mid
elif nums[mid] < target:
left = mid + 1
else:
right = mid - 1
return left
扩展阅读
如果你对二分查找算法感兴趣,可以阅读二分查找算法详解。