# 题目: 453. 最小操作次数使数组元素相等
给你一个长度为 n 的整数数组,每次操作将会使 n - 1 个元素增加 1 。返回让数组所有元素相等的最小操作次数。
# 示例1:
输入:nums = [1,2,3]
输出:3
解释:
只需要3次操作(注意每次操作会增加两个元素的值):
[1,2,3] => [2,3,3] => [3,4,3] => [4,4,4]
# 示例2:
输入:nums = [1,1,1]
输出:0
# 题解: 数学
这道题,有一个很好的反向思路的启发,原题目:给你一个长度为 n 的整数数组,每次操作将会使 n - 1 个元素增加 1 ,反向的思考,便是:
每次操作都会使 1 个元素减一。
这样一解,题就很简单了。 我们只需要计算出将每一个数组元素减到数组中最小的一个元素的操作总数,便是答案。
# 代码
var minMoves = function(nums) {
let res = 0
let min = Math.min(...nums)
for(let i=0;i<nums.length;i++){
res += nums[i] - min
}
return res
};