Finish problem 0704-binary-search
This commit is contained in:
@@ -0,0 +1,13 @@
|
|||||||
|
class Solution:
|
||||||
|
def search(self, nums: list[int], target: int) -> int:
|
||||||
|
lo, hi = 0, len(nums) - 1
|
||||||
|
i = (hi - lo) // 2
|
||||||
|
while lo <= hi:
|
||||||
|
i = (lo + hi) // 2
|
||||||
|
if nums[i] < target:
|
||||||
|
lo = i + 1
|
||||||
|
elif nums[i] > target:
|
||||||
|
hi = i - 1
|
||||||
|
else:
|
||||||
|
return i
|
||||||
|
return -1
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
import pytest
|
||||||
|
from solution import Solution
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize(
|
||||||
|
"nums, target, expected",
|
||||||
|
[
|
||||||
|
([-1, 0, 3, 5, 9, 12], 9, 4),
|
||||||
|
([-1, 0, 3, 5, 9, 12], -2, -1),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
def test_binary_search(nums, target, expected):
|
||||||
|
assert Solution().search(nums, target) == expected
|
||||||
Reference in New Issue
Block a user