Skip to content

没有重复元素的时候

二分查找的2种写法

定义区间1: [left, right]
  • while(left<=right),要使用<=因为left=right是有意义的
  • if(nums[mid]>target)right要赋值为mid-1,因为nums[mid]一定不是target
定义区间2: [left,right)
  • while(left<right),使用<因为left=right没意义,不包含right位置
  • if(nums[mid]>target)right要赋值为mid,还是因为不包含right
代码演示

演示代码

递归的写法

演示代码


有重复元素的时候

演示代码