Can all numbers of array be made equal
Learn how to solve the 'Can all numbers of array be made equal' problem. This detailed resource details brute force and optimized approaches.
Problem Statement
Write a function can_make_equal(arr) that determines if all elements of the array can be made equal by repeatedly adding or subtracting any element from another. This is possible if and only if the total sum of the array is divisible by the length of the array (i.e., the mean is an integer). Return True if possible, False otherwise. Note: a simpler interpretation — if we can redistribute values freely, we can always make them equal when the sum is divisible by length.
- •1 <= len(arr) <= 10^5
- •-10^6 <= arr[i] <= 10^6
Examples
arr = [1, 1, 1]
True
All elements are already equal.
arr = [1, 2, 3]
True
Sum = 6, length = 3. 6/3 = 2. We can make all elements 2.
arr = [1, 2, 4]
False
Sum = 7, length = 3. 7/3 is not an integer, so we cannot make all equal.
Need a Hint?
Edge Cases to Watch
- Empty list or null input variables
- Single item lists/arrays
- Extremely large input bounds causing integer or stack overflow
Ready to Solve?
Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.