Skip to main content

1679. Max Number of K-Sum Pairs

https://leetcode.com/problems/max-number-of-k-sum-pairs/

Python

Prefix Sum

from collections import defaultdict


class Solution:
def maxOperations(self, nums: List[int], k: int) -> int:
if len(nums) < 2:
return 0

mapper = defaultdict(int)
for i, num in enumerate(nums):
mapper[num] += 1

used = set()
ans = 0
for num, count in mapper.items():
if num in used:
continue

remains = k - num
if remains == num:
ans += count // 2
used.add(num)
elif remains in mapper:
ans += min(count, mapper[remains])
used.add(remains)

return ans