Check if array pairs are divisible by k
December 19, 2022
array-and-hashmapProblem URL: Check if array pairs are divisible by k
We will use a hashmap to store the frequency of each remainder. Then we will iterate over the hashmap and check if the remainder is divisible by k. If it is, then we will check if the frequency of the remainder is even. If it is not, then we will return False.
class Solution:
def canArrange(self, arr: List[int], k: int) -> bool:
freq = collections.defaultdict(int)
for a in arr:
freq[a % k] += 1
for r in freq:
if r == 0 or r == k - r:
if freq[r] % 2 != 0:
return False
elif freq[r] != freq[k - r]:
return False
return True
Time complexity: O(n)
Space complexity: O(n)