binary search

This commit is contained in:
Hanzhang ma 2024-06-04 15:58:21 +02:00
parent 886879c4d7
commit d819c04697

19
167-240604-pass/main.py Normal file
View File

@ -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))