update 二分查找:添加了python左闭右开区间的代码,同时对问题做了下排版

This commit is contained in:
borninfreedom
2021-06-08 09:48:37 +08:00
parent 03ff3ad0cb
commit 895db79105

View File

@ -13,16 +13,21 @@
给定一个 n 个元素有序的升序整型数组 nums 和一个目标值 target  写一个函数搜索 nums 中的 target如果目标值存在返回下标否则返回 -1。 给定一个 n 个元素有序的升序整型数组 nums 和一个目标值 target  写一个函数搜索 nums 中的 target如果目标值存在返回下标否则返回 -1。
示例 1: 示例 1:
```
输入: nums = [-1,0,3,5,9,12], target = 9 输入: nums = [-1,0,3,5,9,12], target = 9
输出: 4 输出: 4
解释: 9 出现在 nums 中并且下标为 4 解释: 9 出现在 nums 中并且下标为 4
```
示例 2: 示例 2:
```
输入: nums = [-1,0,3,5,9,12], target = 2 输入: nums = [-1,0,3,5,9,12], target = 2
输出: -1 输出: -1
解释: 2 不存在 nums 中因此返回 -1 解释: 2 不存在 nums 中因此返回 -1
```
提示: 提示:
@ -146,7 +151,7 @@ public:
## 其他语言版本 ## 其他语言版本
Java **Java**
(版本一)左闭右闭区间 (版本一)左闭右闭区间
@ -192,9 +197,11 @@ class Solution {
} }
``` ```
Python **Python**
```python3 (版本一)左闭右闭区间
```python
class Solution: class Solution:
def search(self, nums: List[int], target: int) -> int: def search(self, nums: List[int], target: int) -> int:
left, right = 0, len(nums) - 1 left, right = 0, len(nums) - 1
@ -211,8 +218,26 @@ class Solution:
return -1 return -1
``` ```
(版本二)左闭右开区间
Go ```python
class Solution:
def search(self, nums: List[int], target: int) -> int:
left,right =0, len(nums)
while left < right:
mid = (left + right) // 2
if nums[mid] < target:
left = mid+1
elif nums[mid] > target:
right = mid
else:
return mid
return -1
```
**Go**
(版本一)左闭右闭区间 (版本一)左闭右闭区间
@ -254,7 +279,7 @@ func search(nums []int, target int) int {
} }
``` ```
javaScript **javaScript:**
```js ```js