class Solution {
public int minMoves(int[] nums) {
Arrays.sort(nums);
int x = nums[0];
int sum = 0;
for(int i=1;i<nums.length;i++){
sum += nums[i]-x;
}
return sum;
}
}
每次操作会使n-1个元素增加1,等同于每次操作1个元素减去1。
另一种方法:
假设n=nums.length(可计算),总共操作m次,操作前数据总和为sum(可计算),操作后,数据总和为sum+m(n-1),且数据变为n个相同的数据,即数据中最小的数x(可计算)加上操作次数m,即sum+m*(n-1)=(x+m)*n,得出:m = sum-x*n。