添加478字节
、 2021年6月17日 (四) 19:01
二分法。
一般 pattern:
<syntaxhighlight lang=python>
low = 0
high = n
while low <= high:
mid = (low + high) // 2
mid_calc = f(mid)
if mid_calc == target:
return g(mid)
elif mid_calc < target:
low = mid + 1
else:
high = mid - 1
return default_retval
</syntaxhighlight>
注意 <code>'''low <= high'''</code>, <code>'''low = mid + 1'''</code> 和 <code>'''high = mid - 1'''</code>。
[[Category:刷题]]
[[Category:双指针]]