Advertisement
Guest User

Untitled

a guest
Jan 29th, 2020
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.94 KB | None | 0 0
  1. class Solution:
  2. def twoSum(self, nums: List[int], target: int) -> List[int]:
  3. diff = []
  4. hashmap = {}
  5. for i in range(0,len(nums)):
  6. if nums[i] not in hashmap:
  7. hashmap[nums[i]] = []
  8. hashmap[nums[i]].append(i)
  9. else:
  10. hashmap[nums[i]].append(i)
  11. diff.append(target - nums[i])
  12. j = 0
  13. for i in diff:
  14. #check equal corner case
  15. if i in hashmap:
  16. if nums[hashmap[i][0]]==i:
  17. if len(hashmap[i])>=2:
  18. return [hashmap[i][0],hashmap[i][1]]
  19.  
  20. if j!=hashmap[i][0]:
  21. return [j,hashmap[i][0]]
  22. j+=1
  23. # for i in range(0,len(nums)):
  24. # for j in range(i+1, len(nums)):
  25. # if nums[i]+nums[j] == target:
  26. # return [i,j]
  27. return []
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement