--- 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。