天天看點

二分法臨界問題

  二分區間可以是左閉右開,或者都閉也行。

  如果是都閉,判斷條件是while(L<R)。如果是L+1,那麼就需要mid=L+(R-L)/2,靠近L一點。如果是R-1,就注意要mid=L+(R-L+1)/2,靠近R一點。這樣做是為了避免出現區間[a,a+1]出現死循環問題。

  總之二分的條件很靈活,判斷條件也可以是L<R-1,L和R也可以都等于mid,還是要看情況,隻要避免死循環就行了。

  如果二分浮點型的就不會出現這樣的問題。

繼續閱讀