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: 2 Explanation: Only two moves are needed (remember each move increments or decrements one element): [1,2,3] => [2,2,3] => [2,2,2]
1 public class Solution { 2 public int minMoves2(int[] nums) { 3 Arrays.sort(nums); 4 5 int result = 0; 6 for (int i = 0, j = nums.length - 1; i < j; i++, j--) { 7 result += nums[j] - nums[i]; 8 } 9 return result; 10 } 11 }