模版题-数组专题-二分查找
**注意选取的区间, 左闭右闭 左闭右开 均可。**
下面给出的示例代码采用的是`左闭右开`。
```python
class Solution:
def search(self, nums: List[int], target: int) -> int:
l = 0
r = len( nums )
# 区间[ l, r )
while l < r:
mid = l + ( r - l ) // 2
if nums[ mid ] == target: return mid
# nums升序 target只可能落在mid左侧
elif nums[ mid ] > target: r = mid
# nums升序 target只可能落在mid右侧
else: l = mid + 1
return -1
```