Friday, March 6, 2020

453. Minimum Moves to Equal Array Elements -E

Given a non-empty integer array of size n, find the minimum number of moves required to make all array elements equal, where a move is incrementing n - 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]


A:

-----------n-1  个+1, 就相当于 剩下的那一个减一   

#include <algorithm>
class Solution {
public:
    int minMoves(vector<int>& nums) {
        int low = *min_element(nums.begin(), nums.end());
        int res=0;
        for(auto k : nums)
            res += k - low;
        return res;
    }
};



Learned:
min_element 返回的是pointer, 需要前面加个 *





No comments:

Post a Comment