From d819c0469780efc8e421634f23f7cc0cd2fe0b3c Mon Sep 17 00:00:00 2001 From: Hanzhang ma Date: Tue, 4 Jun 2024 15:58:21 +0200 Subject: [PATCH] binary search --- 167-240604-pass/main.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 167-240604-pass/main.py diff --git a/167-240604-pass/main.py b/167-240604-pass/main.py new file mode 100644 index 0000000..8f5b128 --- /dev/null +++ b/167-240604-pass/main.py @@ -0,0 +1,19 @@ +class Solution: + def twoSum(self, numbers: list[int], target: int) -> list[int]: + for idx, num in enumerate(numbers): + finding = target - num + left = idx + right = len(numbers) - 1 + while left <= right: + mid = (left + right) // 2 + if numbers[mid] == finding: + return [idx + 1, mid + 1] + if numbers[mid] > finding: + right = mid - 1 + continue + if numbers[mid] < finding: + left = mid + 1 +sol = Solution() +print(sol.twoSum([2, 7 ,11, 15], 26)) +print(sol.twoSum([-1, 9], 8)) +print(sol.twoSum([2,3,4], 6)) \ No newline at end of file