-
Notifications
You must be signed in to change notification settings - Fork 282
Expand file tree
/
Copy path3sum.py
More file actions
24 lines (24 loc) · 704 Bytes
/
3sum.py
File metadata and controls
24 lines (24 loc) · 704 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class Solution(object):
def threeSum(self, nums):
nums.sort()
result = []
for i in range(len(nums)-2):
if i> 0 and nums[i] == nums[i-1]:
continue
l = i+1
r = len(nums)-1
while(l<r):
sum = nums[i] + nums[l] + nums[r]
if sum<0:
l+=1
elif sum >0:
r-=1
else:
result.append([nums[i],nums[l],nums[r]])
while l<len(nums)-1 and nums[l] == nums[l + 1] : l += 1
while r>0 and nums[r] == nums[r - 1]: r -= 1
l+=1
r-=1
return result
ob1 = Solution()
print(ob1.threeSum([-1,0,1,2,-1,-4]))