Guest User

Untitled

a guest
Mar 22nd, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.96 KB | None | 0 0
  1. class Solution:
  2. def threeSum(self, nums):
  3. """
  4. :type nums: List[int]
  5. :rtype: List[List[int]]
  6. """
  7. ans = []
  8. a = sorted(nums)
  9. n = len(nums)
  10. for i in range(n):
  11. target = a[i]
  12. if(target>0):
  13. break
  14. if(i>0 and target==a[i-1]):
  15. continue
  16. left = i+1;
  17. right = n-1
  18. while(left<right):
  19. tmp = a[left]+a[right]
  20. if target + tmp == 0:
  21. ans.append([target, a[left], a[right]])
  22. while(left<right and a[left]==a[left+1]):
  23. left+=1
  24. while(left<right and a[right]==a[right-1]):
  25. right-=1
  26. right-=1
  27. left+=1
  28. elif target + tmp < 0:
  29. left+=1
  30. elif target + tmp > 0:
  31. right-=1
  32. return ans
Add Comment
Please, Sign In to add comment