其他分享
首页 > 其他分享> > 【力扣 091】462. 最少移动次数使数组元素相等 II

【力扣 091】462. 最少移动次数使数组元素相等 II

作者:互联网

462. 最少移动次数使数组元素相等 II、

给你一个长度为 n 的整数数组 nums ,返回使所有数组元素相等需要的最少移动数。

在一步操作中,你可以使数组中的一个元素加 1 或者减 1 。

 

示例 1:

输入:nums = [1,2,3]
输出:2
解释:
只需要两步操作(每步操作指南使一个元素加 1 或减 1):
[1,2,3]  =>  [2,2,3]  =>  [2,2,2]
示例 2:

输入:nums = [1,10,2,9]
输出:16

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/minimum-moves-to-equal-array-elements-ii
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

代码实现:

class Solution {
    public:
    int minMoves2(vector<int>& nums) {
        sort(nums.begin(), nums.end());
        const int N = nums.size();
        int mid = nums[N / 2];
        int res = 0;
        for (int n : nums) {
            res += abs(n - mid);
        }
        return res;
    }
};

 

标签:nums,int,091,元素,示例,462,II,数组,res
来源: https://www.cnblogs.com/sunbines/p/16295425.html