代码仓库:Github | Leetcode solutions @doubleZ0108 from Peking University.
解法1(T78% S73%):非常标准的二分搜索问题,而且还很全,如果没找到要返回其插入位置。按照二分查找经典方法做,首先设定left right指针,在while循环内部获取两指针的中心med,如果med的值等于target,则返回med的索引,否则进行二分缩减。最终如果没找到,此时left指向的位置就是应该顺序插入的位置
class Solution(object):
def searchInsert(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: int
"""
left, right = 0, len(nums)-1
while left <= right:
med = (left+right)//2
if nums[med]==target:
return med
elif nums[med]<target:
left = med + 1
else:
right = med - 1
return
这篇博客详细解析了如何运用二分搜索算法解决LeetCode中的一个问题。代码实现了一个名为`searchInsert`的方法,该方法接收一个整数列表`nums`和目标值`target`,返回`target`在`nums`中的正确插入位置。如果`target`存在于列表中,返回其索引;否则,返回其应当插入的位置以保持列表有序。
163

被折叠的 条评论
为什么被折叠?



