假设我们有一个非空的整数数组,我们必须找到使所有数组元素相等所需的最小移动数,其中移动是将选定元素递增或递减1。因此,当数组类似于[1 ,2,3],则输出将为2,因为1将增加到2,而3将减少到2。
为了解决这个问题,我们将遵循以下步骤-
对数组数字进行排序
将计数器设置为0
为我数不清
计数器:=计数器+绝对值(i – nums [nums的长度/ 2])
返回柜台
让我们看下面的实现以更好地理解-
class Solution: def minMoves2(self, nums): nums.sort() counter = 0 for i in nums: counter += abs(i-nums[len(nums)//2]) return counter ob1 = Solution()print(ob1.minMoves2([2,5,3,4]))
[2,5,3,4]
输出结果
4