给你一个长度为 n 的整数数组,每次操作将会使 n - 1 个元素增加 1 。返回让数组所有元素相等的最小操作次数。
class Solution {public int minMoves(int[] nums) {int res = 0;int sum = 0;int n = nums.length;for(int i = 0;i<n;i++){sum += nums[i];}res = sum - minVal(nums) * n;return res;}public int minVal(int[] nums){int ans = Integer.MAX_VALUE;for(int i : nums){ans = ans>i?i:ans;}return ans;}
}
数学原理:
设一个二元一次方程组就行了
图片来自评论区的一位题友