leetcode/167-240604-pass/main.py

19 lines
690 B
Python
Raw Normal View History

2024-06-04 15:58:21 +02:00
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))