Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #problem number 167 on LeetCode
- class Solution:
- def twoSum(self, numbers: List[int], target: int) -> List[int]:
- #sorted array
- for i in range(len(numbers)-1):
- cand1_ind=i
- cand2=target-numbers[cand1_ind]
- array=numbers[i+1:]
- cand2_ind=self.binary_search(array,cand2)
- if cand2_ind != -1:
- return [cand1_ind+1,cand2_ind+2+i]
- else:
- continue
- def binary_search(self,array,target):
- start=0
- end=len(array)-1
- ans=-1
- while start<=end:
- mid=start+(end-start)//2
- if (target>array[mid]):
- start=mid+1
- elif (target<array[mid]):
- end=mid-1
- elif target==array[mid]:
- return mid
- return -1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement