1497. Check If Array Pairs Are Divisible by k LeetCode Solution
In this guide, you will get 1497. Check If Array Pairs Are Divisible by k LeetCode Solution with the best time and space complexity. The solution to Check If Array Pairs Are Divisible by k problem is provided in various programming languages like C++, Java, and Python. This will be helpful for you if you are preparing for placements, hackathons, interviews, or practice purposes. The solutions provided here are very easy to follow and include detailed explanations.
Table of Contents
- Problem Statement
- Complexity Analysis
- Check If Array Pairs Are Divisible by k solution in C++
- Check If Array Pairs Are Divisible by k solution in Java
- Check If Array Pairs Are Divisible by k solution in Python
- Additional Resources

Problem Statement of Check If Array Pairs Are Divisible by k
Given an array of integers arr of even length n and an integer k.
We want to divide the array into exactly n / 2 pairs such that the sum of each pair is divisible by k.
Return true If you can find a way to do that or false otherwise.
Example 1:
Input: arr = [1,2,3,4,5,10,6,7,8,9], k = 5
Output: true
Explanation: Pairs are (1,9),(2,8),(3,7),(4,6) and (5,10).
Example 2:
Input: arr = [1,2,3,4,5,6], k = 7
Output: true
Explanation: Pairs are (1,6),(2,5) and(3,4).
Example 3:
Input: arr = [1,2,3,4,5,6], k = 10
Output: false
Explanation: You can try all possible pairs to see that there is no way to divide arr into 3 pairs each with sum divisible by 10.
Constraints:
arr.length == n
1 <= n <= 105
n is even.
-109 <= arr[i] <= 109
1 <= k <= 105
Complexity Analysis
- Time Complexity:
- Space Complexity:
1497. Check If Array Pairs Are Divisible by k LeetCode Solution in C++
class Solution {
public:
bool canArrange(vector<int>& arr, int k) {
vector<int> count(k);
for (int a : arr) {
a %= k;
++count[a < 0 ? a + k : a];
}
if (count[0] % 2 != 0)
return false;
for (int i = 1; i <= k / 2; ++i)
if (count[i] != count[k - i])
return false;
return true;
}
};
/* code provided by PROGIEZ */
1497. Check If Array Pairs Are Divisible by k LeetCode Solution in Java
class Solution {
public boolean canArrange(int[] arr, int k) {
int[] count = new int[k];
for (int a : arr) {
a %= k;
++count[a < 0 ? a + k : a];
}
if (count[0] % 2 != 0)
return false;
for (int i = 1; i <= k / 2; i++)
if (count[i] != count[k - i])
return false;
return true;
}
}
// code provided by PROGIEZ
1497. Check If Array Pairs Are Divisible by k LeetCode Solution in Python
class Solution:
def canArrange(self, arr: list[int], k: int) -> bool:
count = [0] * k
for a in arr:
a %= k
count[a if a >= 0 else a + k] += 1
return (count[0] % 2 == 0 and
all(count[i] == count[k - i]
for i in range(1, k // 2 + 1)))
# code by PROGIEZ
Additional Resources
- Explore all LeetCode problem solutions at Progiez here
- Explore all problems on LeetCode website here
Happy Coding! Keep following PROGIEZ for more updates and solutions.