Faaez Razeen

ThreeSum

  • 2 min read
  • LC-Easy
  • Sliding Window

3 years ago

Solution

TimeSpaceExplanation
O(nlogn + n^2)O(?)Space depends on sorting algorithm
def threeSum(self, nums: List[int]) -> List[List[int]]: nums.sort() triplets = [] for i in range(len(nums)): if i > 0 and nums[i] == nums[i - 1]: continue j, k = i + 1, len(nums) - 1 while j < k: sum_ = nums[i] + nums[j] + nums[k] if sum_ < 0: j += 1 elif sum_ > 0: k -= 1 else: triplets.append([nums[i], nums[j], nums[k]]) j += 1 while j < k and nums[j] == nums[j - 1]: j += 1 return triplets