力扣(LeetCode)453. 最小移动次数使数组元素相等

给定一个长度为 n 的非空整数数组,找到让数组所有元素相等的最小移动次数。每次移动可以使 n - 1 个元素增加 1。

示例:

输入:
[1,2,3]

输出:
3

解释:
只需要3次移动(注意每次移动会增加两个元素的值):

[1,2,3] => [2,3,3] => [3,4,3] => [4,4,4]

思路 尝试过暴力法 ,结果超时了

找规律 移动次数等于每个数减去最小数之和。

Java版

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

运行结果

posted @ 2019-04-08 13:59  lick  阅读(264)  评论(0编辑  收藏  举报