453.最小操作次数使数组元素相等
给你一个长度为 n 的整数数组,每次操作将会使 n - 1 个元素增加 1 。返回让数组所有元素相等的最小操作次数。
示例 1:
1 | 输入:nums = [1,2,3] |
示例 2:1
2输入:nums = [1,1,1]
输出:0
提示:
- n == nums.length
- 1 <= nums.length <= 105
- -109 <= nums[i] <= 109
- 答案保证符合 32-bit 整数
解题思路
假设总和为sum,执行操作次数为m,数组长度为n,最终的每个元素的值为x,可以得到公式:
最终的操作执行次数的多少,取决于最小的那个值,设定最小值为min_val 那么可以得到另一个式子m = x - min_val, 转为 x = m + min_val带入上式可以得到。m = sum - n * min_val 最终返回即可。
解题代码
1 | class Solution { |