added solution of different methods

This commit is contained in:
Jacob Delgado 2023-09-01 21:37:42 -07:00
parent 3456cd63be
commit c0ea57c627

View File

@ -22,7 +22,39 @@ def twoSum(numbers, target):
last -= 1
else:
last += 1
# # two-pointer
# def twoSum1(self, numbers, target):
# l, r = 0, len(numbers)-1
# while l < r:
# s = numbers[l] + numbers[r]
# if s == target:
# return [l+1, r+1]
# elif s < target:
# l += 1
# else:
# r -= 1
# # dictionary
# def twoSum2(self, numbers, target):
# dic = {}
# for i, num in enumerate(numbers):
# if target-num in dic:
# return [dic[target-num]+1, i+1]
# dic[num] = i
# # binary search
# def twoSum(self, numbers, target):
# for i in xrange(len(numbers)):
# l, r = i+1, len(numbers)-1
# tmp = target - numbers[i]
# while l <= r:
# mid = l + (r-l)//2
# if numbers[mid] == tmp:
# return [i+1, mid+1]
# elif numbers[mid] < tmp:
# l = mid+1
# else:
# r = mid-1
print(twoSum([2,7,11,15], 9))
print(twoSum([-1,0], -1))