刷题总结
二分查找:
1.(left+right)/2等价于(right-left)/2+left 移位运算符:>> 和 >>>
2.两种写法:while(left <= right) 左闭右闭区间
while(left < right) 左闭右开区间
写二分法,区间的定义一般为两种,左闭右闭即[left, right],或者左闭右开即[left, right)。区间的定义这就决定了二分法的代码应该如何写
区间的定义不同,边界处理就不同
区间的定义就是不变量,那么在循环中坚持根据查找区间的定义来做边界处理,就是循环不变量规则
3.只能查找元素不重复数组