Finish problem 0704-binary-search

This commit is contained in:
Johan Sandoval
2026-07-22 20:20:08 -05:00
parent 71585b97b8
commit d1fefee020
2 changed files with 26 additions and 0 deletions
+13
View File
@@ -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