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