力扣(LeetCode)453. 最小移动次数使数组元素相等

时间:2023-03-08 18:10:13

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

示例:

输入:

[1,2,3]

输出:

3

解释:

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

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

思路 尝试过暴力法 ,结果超时了

找规律 移动次数等于每个数减去最小数之和。

Java版

class Solution {
public int minMoves(int[] nums) {
int total = 0;
Arrays.sort(nums);
for(int i=1;i<nums.length;i++){
total += nums[i]-nums[0];
}
return total;
}
}

运行结果

力扣(LeetCode)453. 最小移动次数使数组元素相等