Minimum Moves to Equal Array Elements

描述

给定一个长度为n的非空整数数组,计算最少需要多少次移动可以使所有元素相等,一次移动是指将n - 1个元素加1。例如:
[1,2,3] => [2,3,3] => [3,4,3] => [4,4,4]

思路

每次使n-1个数字 +1 ,其实就是让最大的数字 -1 的操作,这样来看,就可以得出移动次数为 每个数字减去最小数字的总和,即
count = sun(nums) - min(nums) * len(nums)

代码:

1
2
3
4
5
6
7
class Solution(object):
def minMoves(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
return sum(nums) - min(nums) * len(nums)