Mindset model
In binary search, key points:
- if
right
is defined aslen(nums) - 1
, then- search space is between
[left, right]
- termination condition: while (left
<=
right) - in each shrinking iteration:
left = mid + 1
andright = mid - 1
- final state:
left == right + 1
- search space is between
- if
right
is defined aslen(nums)
, then- search space is between
[left, right)
- termination condition: while (left
<
right) - in each shrinking iteration:
left = mid + 1
butright = 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 + 1
if f(mid) == target, returnleft - 1
(this will be immediate floor item if target is not in f(x))
|
|