Given a non-empty integer array, find the minimum number of moves required to make all array elements equal, wher E a move is incrementing a selected element by 1 or decrementing a selected element by 1.
You may assume the array ' s length are at 10,000.
Example:
Input: [A] Output:2Explanation:only moves is needed (remember each move increments or decrements one element): [A] = [2,2,3] = [2,2,2]
given an array of non-empty integers, find the minimum number of moves required to make all array elements equal, move the selected element by 1 or decrement the selected element by 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;
};
From for notes (Wiz)
462. Minimum Moves to Equal array Elements II min move to equal array element II