Description
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:
3Explanation:
Only three moves are needed (remember each move increments two elements):[1,2,3] => [2,3,3] => [3,4,3] => [4,4,4]
Explain
也是老题了,思路比较巧妙,每次除了一个数其他数都加一,反过来相当于每次有个数减一,那么就容易解决了,都减到最小值即可
Code
class Solution(object):
def minMoves(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
return sum(nums) - len(nums) * min(nums)