# Search

<table><thead><tr><th width="73" data-type="checkbox"> </th><th width="259">Problem</th><th width="74">Diff<select><option value="cc08b076c0814d37b8034010445340b0" label="Easy" color="blue"></option><option value="c6bb609d23f5455a934646d2dbde778d" label="Midium" color="blue"></option><option value="c675121f070c45b4b3eb24a9c1e25dd6" label="Hard" color="blue"></option></select></th><th width="124">Data</th><th width="110" data-type="rating" data-max="5"></th><th width="104">Flag</th></tr></thead><tbody><tr><td>true</td><td><a data-mention href="binary-search/34.-zai-pai-xu-shu-zu-zhong-cha-zhao-yuan-su-de-di-yi-ge-he-zui-hou-yi-ge-wei-zhi">34.-zai-pai-xu-shu-zu-zhong-cha-zhao-yuan-su-de-di-yi-ge-he-zui-hou-yi-ge-wei-zhi</a></td><td><span data-option="c6bb609d23f5455a934646d2dbde778d">Midium</span></td><td>2023/01/30</td><td>4</td><td>二分</td></tr><tr><td>true</td><td><a data-mention href="binary-search/1870.-zhun-shi-dao-da-de-lie-che-zui-xiao-shi-su">1870.-zhun-shi-dao-da-de-lie-che-zui-xiao-shi-su</a></td><td><span data-option="c6bb609d23f5455a934646d2dbde778d">Midium</span></td><td>2023/01/31</td><td>4</td><td>二分</td></tr><tr><td>true</td><td><a data-mention href="binary-search/1894.-zhao-dao-xu-yao-bu-chong-fen-bi-de-xue-sheng-bian-hao">1894.-zhao-dao-xu-yao-bu-chong-fen-bi-de-xue-sheng-bian-hao</a></td><td><span data-option="c6bb609d23f5455a934646d2dbde778d">Midium</span></td><td>2023/02/01</td><td>4</td><td>二分</td></tr><tr><td>true</td><td><a data-mention href="binary-search/1898.-ke-yi-chu-zi-fu-de-zui-da-shu-mu">1898.-ke-yi-chu-zi-fu-de-zui-da-shu-mu</a></td><td><span data-option="c6bb609d23f5455a934646d2dbde778d">Midium</span></td><td>2023/02/02</td><td>4</td><td>二分</td></tr><tr><td>true</td><td><a data-mention href="binary-search/1306.-tiao-yue-you-xi-iii">1306.-tiao-yue-you-xi-iii</a></td><td><span data-option="c6bb609d23f5455a934646d2dbde778d">Midium</span></td><td>2023/02/07</td><td>4</td><td>BFS</td></tr><tr><td>true</td><td><a data-mention href="binary-search/33.-sou-suo-xuan-zhuan-pai-xu-shu-zu">33.-sou-suo-xuan-zhuan-pai-xu-shu-zu</a></td><td><span data-option="c6bb609d23f5455a934646d2dbde778d">Midium</span></td><td>2023/08/08</td><td>5</td><td>二分</td></tr></tbody></table>

### 二分查找的通用模板

模板 1：

```go
boolean check(x int) {}

func search(left, right int) int {
    for left < right {
        mid := (left + right) >> 1
        if check(mid) {
            right = mid
        } else {
            left = mid + 1
        }
    }
    return left
}
```

模板 2：

```go
boolean check(x int) {}

func search(left, right int) int {
    for left < right {
        mid := (left + right + 1) >> 1
        if check(mid) {
            left = mid
        } else {
            right = mid + 1
        }
    }
    return left
}
```
