453. Minimum Moves to Equal Array Elements

Posted Wanna_Go

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了453. Minimum Moves to Equal Array Elements相关的知识,希望对你有一定的参考价值。


 

Given anon-emptyinteger array of sizen, find the minimum number of moves required to make all array elements equal, where a move is incrementingn- 1 elements by 1.

Example:

Input:
[1,2,3]

Output:
3

Explanation:
Only three moves are needed (remember each move increments two elements):

[1,2,3]  =>  [2,3,3]  =>  [3,4,3]  =>  [4,4,4]
给出一个长度为n的非空数组,每次对数组中的n-1个元素+1操作,使得这个数组的所有元素相同。求操作的最小次数。
看到题目我就立马拿起了笔,找了个例子开始各种的尝试,希望能够找到某种规律,结果一个简单的小例子就需要推导半天。。。=.=!,看了下大神是怎么做的。网上给出的思路是换位思考。每次对n-1个数字+1,那不等价于每次对1个数字-1么。给出答案
class Solution {
    public int minMoves(int[] nums) {
        int min = Integer.MAX_VALUE;
        for(int num:nums) min = Math.min(num,min);
        int result = 0;
        for(int num:nums) result += (num-min);
        return result;
    }
}

 

以上是关于453. Minimum Moves to Equal Array Elements的主要内容,如果未能解决你的问题,请参考以下文章

453. Minimum Moves to Equal Array Elements

453 Minimum Moves to Equal Array Elements

leetcoode刷题 453. Minimum Moves to Equal Array Elements

453. Minimum Moves to Equal Array Elements

LeetCode 453. Minimum Moves to Equal Array Elements

453. Minimum Moves to Equal Array Elements