📅  最后修改于: 2023-12-03 15:07:11.187000             🧑  作者: Mango
给定一个整数数组nums,可以执行以下操作之一:
返回进行操作后使数组中所有元素相等的最小操作数。
首先,我们可以计算数组中所有元素的和。然后,将其除以数组的长度,得到每个元素的目标值(即每个元素的理想值)。
接着,我们可以遍历数组nums,并计算出当前数组元素的和。当我们遇到一个元素小于目标值时,我们可以将其与相应的增量相加,直到它等于目标值为止。此时,我们可以将增量添加到操作数中。
最后,我们返回操作数,即为所求。
def minMoves(nums: List[int]) -> int:
target = sum(nums) // len(nums)
moves = 0
for num in nums:
moves += abs(num - target)
return moves // 2