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
代码演示 ​

递归的写法


有重复元素的时候 ​