class Solution: # @return a list of lists of length 3, [[val1,val2,val3]] def threeSum(self, num): A=sorted(num) n=len(A) rst=[] for k in range(n-2): a=A[k] if k>0 and a==A[k-1]: continue i=k+1 j=n-1 while j>i: s2=A[i]+A[j] if s2==-A[k]: rst.append([A[k],A[i],A[j]]) while j>i: i+=1 j-=1 if A[i]!=A[i-1] or A[j]!=A[j+1]: break elif A[k]+s2>0: while j>i: j-=1 if A[j]!=A[j+1]: break else: while j>i: i+=1 if A[i]!=A[i-1]: break return rst
Friday, September 19, 2014
Leetcode: 3Sum @Python
Subscribe to:
Post Comments
(
Atom
)
No comments :
Post a Comment