--- tags : Alogrithm --- Binary Search === 閉區間 ```cpp= int l = -1, r = arr.size(); while (l + 1 < r) { int mid = (l + r) / 2; if (arr[mid] >= target) r = mid; else l = mid; } ``` 左閉右開 ```cpp= int l = 0, r = arr.size(); while (l < r) { int mid = (l + r) / 2; if (arr[mid] >= target) r = mid; else l = mid + 1; } ``` 開區間 ```cpp= int l = 0, r = arr.size() - 1; while (l <= r) { int mid = (l + r) / 2; if (arr[mid] >= target) r = mid - 1; else l = mid + 1; } ``` > (l + r) / 2可能會OF,所以可用l + (r - l) / 2。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up