“Binary search”的版本间的差异
跳到导航
跳到搜索
(建立内容为“二分法。 一般 pattern: <syntaxhighlight lang=python> low = 0 high = n while low <= high: mid = (low + high) // 2 mid_calc = f(mid) if mid_cal…”的新页面) |
(没有差异)
|
2021年6月17日 (四) 19:01的版本
二分法。
一般 pattern:
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
注意 low <= high
, low = mid + 1
和 high = mid - 1
。