Iam_Sandeep

four sum 4sum

Mar 8th, 2022
1,084
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.01 KB | None | 0 0
  1. class Solution:
  2.     def fourSum(self, nums: List[int], tar: int) -> List[List[int]]:
  3.         n=len(nums)
  4.         nums.sort()
  5.         ans=[]
  6.         for i in range(n):
  7.             #skip repeatitive vals
  8.             if i>0 and nums[i]==nums[i-1]:continue
  9.             for j in range(i+1,n):
  10.                 #skip repeatitive vals
  11.                 if j>i+1 and nums[j]==nums[j-1]:continue
  12.                 rsum=tar-nums[i]-nums[j]
  13.                 l,r=j+1,n-1
  14.                 while l<r:
  15.                     find=nums[l]+nums[r]
  16.                     if find<rsum:l+=1
  17.                     elif find>rsum:r-=1
  18.                     else:
  19.                         ans.append([nums[i],nums[j],nums[l],nums[r]])
  20.                         l,r=l+1,r-1
  21.                         #skip repeatitive vals
  22.                         while l<r and nums[l]==nums[l-1]:
  23.                             l+=1
  24.                         while l<r and nums[r]==nums[r+1]:
  25.                             r-=1
  26.         return ans
  27.                
  28.                    
  29.                
  30.        
Advertisement
Add Comment
Please, Sign In to add comment