Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution:
- def fourSum(self, nums: List[int], tar: int) -> List[List[int]]:
- n=len(nums)
- nums.sort()
- ans=[]
- for i in range(n):
- #skip repeatitive vals
- if i>0 and nums[i]==nums[i-1]:continue
- for j in range(i+1,n):
- #skip repeatitive vals
- if j>i+1 and nums[j]==nums[j-1]:continue
- rsum=tar-nums[i]-nums[j]
- l,r=j+1,n-1
- while l<r:
- find=nums[l]+nums[r]
- if find<rsum:l+=1
- elif find>rsum:r-=1
- else:
- ans.append([nums[i],nums[j],nums[l],nums[r]])
- l,r=l+1,r-1
- #skip repeatitive vals
- while l<r and nums[l]==nums[l-1]:
- l+=1
- while l<r and nums[r]==nums[r+1]:
- r-=1
- return ans
Advertisement
Add Comment
Please, Sign In to add comment