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
- 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 gcd operations to make all array elements one
- Minimum delete operations to make all elements of array same
- Minimum operations required to modify the array such that parity of adjacent elements is different
- Minimum number of cuts required to make circle segments equal sized
- Find whether it is possible to make array elements same using one external number
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.