def twoSum(nums: List[int], target: int) -> List[int]:
d = dict()
for i in range(len(nums)):
d[target-nums[i]] = i
for i in range(len(nums)):
if nums[i] in d and i != d[nums[i]]:
return([i, d[nums[i]]])
return(None)
from collections import defaultdict
def pairSum(arr, k):
d = defaultdict(int)
for x in arr:
d[k-x] += 1
nb_pair_sum = 0
for x in arr:
if x in d:
# if x==k-x subtract 1 as x can't sum with itself (but can with other ekements with same value)
nb_pair_sum += d[x] - (x == k-x)
return int(nb_pair_sum/2)