""" Time: O(N^(K-1)) -> O(N^3) Space: O(K) -> O(1) """ class Solution: def fourSum(self, nums: List[int], target: int) -> List[List[int]]: def kSum(k, start, target): if k>2: for i in range(start, len(nums)-k+1): if i!=start and nums[i]==nums[i-1]: continue temp.append(nums[i]) kSum(k-1, i+1, target-nums[i]) temp.pop() else: l, r = start, len(nums)-1 while ltarget: r -= 1 elif nums[l]+nums[r]