指针
2
21
23
45
59
66
76
0
1
3
4
5
6
7
8
9
第3次循环
left
因为 arr[mid] === target所以 right = mid
mid
target
因为 arr[mid] === target所以 right = mid
i
arr
right
left/right
初始值 0
第1次循环
第2次循环
10
left/mid
第4次循环
因为 arr[mid] < target所以 left = mid + 1
因为 arr[left] === target所以 return left
(right + left) >> 1
初始值arr.length