设计一个算法,找出数组中两数之和为指定值的所有整数对。一个数只能属于一个数对。
利用字典实现
from typing import *
from collections import defaultdict
class Solution:
def pairSums(self, nums: List[int], target: int) -> List[List[int]]:
dic = defaultdict(int)
res = []
for val in nums:
if dic[target - val] > 0:
res.append([target - val, val])
dic[target - val] -= 1
else:
dic[val] += 1
return res