Given an array of N integers, the task is to find the number of operations required to make all elements in the array equal. In one operation we can distribute equal weights from the maximum element to the rest of the array elements. If it is not possible to make the array elements equal after performing the above operations then print -1.
Input: arr = [1, 6, 1, 1, 1];
Explanation: Since arr becomes [2, 2, 2, 2, 2] after distribution from max element.
Input : arr = [2, 2, 3];
Output : -1
Explanation: Here arr becomes [3, 3, 1] after distribution.
- Declare temporary variable to store number of times operation is performed.
- Find maximum element of the given array and store its index value.
- Check if all the elements are equal to the maximum element after n subtractions.
- Again check that each element is equal to other elements and return n.
Below is the implementation of above approach:
Time complexity: O(n)
- Find the minimum number of operations required to make all array elements equal
- Minimum operations required to make all the array elements equal
- Minimum number of increment-other operations to make all array elements equal.
- Minimum no. of operations required to make all Array Elements Zero
- Minimum operations required to make all the elements distinct in an array
- Minimum Bitwise AND operations to make any two array elements equal
- Minimum Bitwise XOR operations to make any two array elements equal
- Minimum Bitwise OR operations to make any two array elements equal
- Find the minimum number of preprocess moves required to make two strings equal
- Minimum number of operations on an array to make all elements 0
- Minimum increment by k operations to make all elements equal
- Find minimum number of merge operations to make an array palindrome
- Minimum increment or decrement operations required to make the array sorted
- Minimum changes required to make all element in an array equal
- Minimum gcd operations to make all array elements one
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.