Skip to content

Commit 12d938d

Browse files
committed
Four Pointer
1 parent eb69a21 commit 12d938d

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

18_m_4Sum.py

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
def fourSum(nums,target):
2+
nums.sort()
3+
#print(nums)
4+
answer=[]
5+
for i in range(len(nums)):
6+
for j in range(i+1,len(nums)):
7+
p1=j+1;p2=len(nums)-1
8+
while p1<p2:
9+
want_sum=target-(nums[i]+nums[j])
10+
#print("{},{} : p1={},p2={},want_sum={}".format(nums[i],nums[j],p1,p2,want_sum))
11+
if nums[p1]+nums[p2]<=want_sum:
12+
if nums[p1]+nums[p2]==want_sum:
13+
if not [nums[i],nums[j],nums[p1],nums[p2]] in answer:
14+
answer.append([nums[i],nums[j],nums[p1],nums[p2]])
15+
p1+=1
16+
else:
17+
p2-=1
18+
return answer
19+
20+
nums=[-3,-2,-1,0,0,1,2,3]
21+
target=0
22+
answer=fourSum(nums,target)
23+
print(answer)

0 commit comments

Comments
 (0)