【力扣100】35.搜索插入位置 || 二分查找

添加链接描述

class Solution:
    def searchInsert(self, nums: List[int], target: int) -> int:
        n=len(nums)
        i,j=0,n-1
        while i<=j:
            mid=i+(j-i)//2
            if nums[mid]==target:
                return mid
            elif target<nums[mid]:
                j=mid-1
            else:
                i=mid+1         #包含两种情况,1.target在mid右边 2.没有找到target,返回mid+1
        
        return i

思路是:

  1. 经典二分查找,框架就是i,j 分别指向数组的首尾
  2. 出查找条件是i<=j
  3. 注意else里包含的两种情况