字典减少运行时间,集合去重
class Solution:
def fourSum(self, numbers, target):
"""
:type nums: List[int]
:type target: int
:rtype: List[List[int]]
"""
res=set()
dict1 ={}
numbers.sort()
lenn = len(numbers)
for i in range(lenn-3):
for j in range(i+1,lenn-2):
sum1 = numbers[i] + numbers[j]
if not sum1 in dict1:
dict1[sum1] = [(i,j)]
else:
dict1[sum1].append((i,j))
for p in range(2,lenn-1):
for q in range(p+1,lenn):
temp = target - numbers[p] - numbers[q]
if temp in dict1:
for list1 in dict1[temp]:
if list1[1] < p:
res.add((numbers[list1[0]],numbers[list1[1]],numbers[p],numbers[q]))
return [list(s) for s in res]