“Binary search”的版本间的差异

来自wrc's Wiki
跳到导航 跳到搜索
(建立内容为“二分法。 一般 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 + 1high = mid - 1