A review on binary search algorithm.
Mindset model
In binary search, key points:
- if
rightis defined aslen(nums) - 1, then- search space is between
[left, right] - termination condition: while (left
<=right) - in each shrinking iteration:
left = mid + 1andright = mid - 1 - final state:
left == right + 1
- search space is between
- if
rightis defined aslen(nums), then- search space is between
[left, right) - termination condition: while (left
<right) - in each shrinking iteration:
left = mid + 1butright = mid - final state:
left == right
- search space is between
- for left bound searching,
right = mid (-1)if f(mid) == target, returnleft(this will be immediate ceiling item if target is not in f(x)) - for right bound searching,
left = mid + 1if f(mid) == target, returnleft - 1(this will be immediate floor item if target is not in f(x))
|
|