Advertisement
rishu110067

Untitled

Jan 24th, 2022
1,229
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.88 KB | None | 0 0
  1. #problem number 167 on LeetCode
  2.  
  3. class Solution:
  4.     def twoSum(self, numbers: List[int], target: int) -> List[int]:
  5.         #sorted array
  6.         for i in range(len(numbers)-1):
  7.             cand1_ind=i
  8.             cand2=target-numbers[cand1_ind]
  9.             array=numbers[i+1:]
  10.             cand2_ind=self.binary_search(array,cand2)
  11.             if cand2_ind != -1:
  12.                 return [cand1_ind+1,cand2_ind+2+i]
  13.             else:
  14.                 continue
  15.                
  16.     def binary_search(self,array,target):
  17.         start=0
  18.         end=len(array)-1
  19.         ans=-1
  20.         while start<=end:
  21.             mid=start+(end-start)//2
  22.            
  23.             if (target>array[mid]):
  24.                 start=mid+1
  25.             elif (target<array[mid]):
  26.                 end=mid-1
  27.             elif target==array[mid]:
  28.                 return mid
  29.            
  30.         return -1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement