453 最小移动次数使数组元素相等

本文最后更新于:2022年4月9日 中午


给定一个长度为 n非空整数数组,找到让数组所有元素相等的最小移动次数。每次移动将会使 n - 1 个元素增加 1。

示例:

1
2
3
4
5
6
7
8
9
10
输入:
[1,2,3]

输出:
3

解释:
只需要3次移动(注意每次移动会增加两个元素的值):

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

Solution

  • n-1 个元素加1,相当于 1 个元素减一。
  • 直至所有元素都等于最小值。
1
2
3
4
5
6
7
8
9
# @lc code=start
class Solution:
def minMoves(self, nums: List[int]) -> int:
min_value = min(nums)
count = 0
for num in nums:
count += (num-min_value)
return count
# @lc code=end

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!