Minimum Moves to Equal Array Elements

Question

Given a non-empty integer array of size n, find the minimum number of moves required to make all array elements equal, where a move is incrementing n - 1 elements by 1.

Example:

Input:
[1,2,3]

Output:
3

Explanation:
Only three moves are needed (remember each move increments two elements):

[1,2,3]  =>  [2,3,3]  =>  [3,4,3]  =>  [4,4,4]

Tags

  • Mathematics

Thought

Use all the number in the given array nums to minus with the minimum number in nums and the sum of the difference is the result.

Code

class Solution(object):
    def minMoves(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        minNum = min(nums)
        ans = 0
        for num in nums:
            ans += num - minNum
        return ans

results matching ""

    No results matching ""