binary search
This commit is contained in:
parent
886879c4d7
commit
d819c04697
19
167-240604-pass/main.py
Normal file
19
167-240604-pass/main.py
Normal 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))
|
Loading…
Reference in New Issue
Block a user