【力扣 091】462. 最少移動次數使陣列元素相等 II
阿新 • • 發佈:2022-05-21
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; } };