LeetCode453. Minimum Moves to Equal Array Elements

文章目录

    • 一、题目
    • 二、题解

一、题目

Given an integer array nums of size n, return the minimum number of moves required to make all array elements equal.

In one move, you can increment n - 1 elements of the array by 1.

Example 1:

Input: nums = [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]
Example 2:

Input: nums = [1,1,1]
Output: 0

Constraints:

n == nums.length
1 <= nums.length <= 105
-109 <= nums[i] <= 109
The answer is guaranteed to fit in a 32-bit integer.

二、题解

class Solution {
public:
    int minMoves(vector<int>& nums) {
        int n = nums.size();
        int res = 0;
        int minValue = *min_element(nums.begin(),nums.end());
        for(auto x:nums){
            res += x - minValue;
        }
        return res;
    }
};

你可能感兴趣的:(算法,数据结构,leetcode,c++)