標籤:padding xpl for ati ace nim enum neu 數組元素
Given a non-empty integer array, find the minimum number of moves required to make all array elements equal, where a move is incrementing a selected element by 1 or decrementing a selected element by 1.
You may assume the array‘s length is at most 10,000.
Example:
Input:[1,2,3]Output:2Explanation:Only two moves are needed (remember each move increments or decrements one element):[1,2,3] => [2,2,3] => [2,2,2]
給定非空整數數組,找到使所有數組元素相等所需的最小移動數,移動將所選元素遞增1或將所選元素遞減1。
/**
* @param {number[]} nums
* @return {number}
*/
var minMoves2 = function(nums) {
let newNums = nums.sort((a,b)=>{return a-b});
let mid = nums[parseInt(newNums.length / 2)];
let sum = 0;
for(let i in newNums){
sum += Math.abs(newNums[i] - mid);
}
return sum;
};
來自為知筆記(Wiz)
462. Minimum Moves to Equal Array Elements II 最小移動到等數組元素II