feat(792-binary-search): add py3 solution
This commit is contained in:
26
0792_binary-search/README.md
Normal file
26
0792_binary-search/README.md
Normal file
@@ -0,0 +1,26 @@
|
||||
Given an array of integers `nums` which is sorted in ascending order, and an integer `target`, write a function to search `target` in `nums`. If `target` exists, then return its index. Otherwise, return `-1`.
|
||||
|
||||
You must write an algorithm with `O(log n)` runtime complexity.
|
||||
|
||||
**Example 1:**
|
||||
|
||||
```
|
||||
**Input:** nums = \[-1,0,3,5,9,12\], target = 9
|
||||
**Output:** 4
|
||||
**Explanation:** 9 exists in nums and its index is 4
|
||||
```
|
||||
|
||||
**Example 2:**
|
||||
|
||||
```
|
||||
**Input:** nums = \[-1,0,3,5,9,12\], target = 2
|
||||
**Output:** -1
|
||||
**Explanation:** 2 does not exist in nums so return -1
|
||||
```
|
||||
|
||||
**Constraints:**
|
||||
|
||||
* `1 <= nums.length <= 104`
|
||||
* `-104 < nums[i], target < 104`
|
||||
* All the integers in `nums` are **unique**.
|
||||
* `nums` is sorted in ascending order.
|
||||
16
0792_binary-search/python3/solution.py
Normal file
16
0792_binary-search/python3/solution.py
Normal file
@@ -0,0 +1,16 @@
|
||||
class Solution:
|
||||
def search(self, nums: List[int], target: int) -> int:
|
||||
start = 0
|
||||
end = len(nums) - 1
|
||||
|
||||
while start <= end:
|
||||
mid = (start + end) // 2
|
||||
|
||||
if nums[mid] == target:
|
||||
return mid
|
||||
elif target < nums[mid]:
|
||||
end = mid - 1
|
||||
else:
|
||||
start = mid + 1
|
||||
|
||||
return -1
|
||||
Reference in New Issue
Block a user