Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution:
- def threeSum(self, nums: List[int]) -> List[List[int]]:
- solnSet = []
- finalSet = []
- for i in range(len(nums)):
- target = 0 - nums[i]
- #solnSet = self.twoSum([nums[i]], nums[:i] + nums[i+1:], target)
- solnSet = self.twoSum([nums[i]], nums[i+1:], target)
- #print("solnSet", solnSet)
- for j in solnSet:
- finalSet.append(j)
- #print("finalSet")
- #print(finalSet)
- mySet = set(tuple(sorted(l)) for l in finalSet)
- finalList = []
- for i in mySet:
- finalList.append(list(i))
- return finalList
- def twoSum(self, firstEleList: List[int], TSnums: List[int], target: int) -> List[int]:
- #return empty [] if no twoSum
- myTSDict={}
- twoSumList = []
- for i in TSnums:
- if i in myTSDict:
- twoSumList.append(firstEleList + [myTSDict[i], i])
- #print(twoSumList)
- else:
- myTSDict[target-i] = i
- #print(twoSumList)
- return twoSumList
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement