453. 最小移动次数使数组元素相等

2018-07-19  本文已影响122人  雇个城管打天下

题目

解析

其实刚拿到这道题的时候毫无头绪,想着怎么才能让程序知道应该让那几个加1,后来查看了说明之后才发现这其实是道数学问题,倒过来思考即可。

每次移动使n-1个元素加一,直到最大值,倒过来就是每次可使一个元素减一,直到最小值

代码

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

猜你喜欢

热点阅读