1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| public int binarySearch1(){ int l = 区间左端点, r = 区间右端点; while(l<r){ int mid = l + r >> 1; if(check(mid)) r = mid; else l = mid + 1; } return r; } public int binarySearch2(){ int l = 区间左端点, r = 区间右端点; while(l<r){ int mid = l + r + 1>> 1; if(check(mid)) r = mid - 1; else l = mid; } return r; }
|