goalg
二分查找
核心**:
- 给定排序的数组,选定中间位置,和目标值比较;
- 如果小于目标值,则在左侧继续查找;
- 如果大于目标值,则在右侧继续查找。
算法关键:
- mid在边界情况时取值:
r = l + 1
情况下, 即左右指针相邻的情况,mid = l = l + (r - l)/2
,mid = r = l + (r - l + 1)/2
; - 避免死循环: 确保以上边界情况 l 或 r 的值变化后下一次循环mid取得不同的值,或能跳出循环。
golang algorithm implement for leetcode and data structures
核心**:
算法关键:
r = l + 1
情况下, 即左右指针相邻的情况, mid = l = l + (r - l)/2
, mid = r = l + (r - l + 1)/2
;golang algorithm implement for leetcode and data structures
Apache License 2.0