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]
def minMove2(nums):
nums.sort()
if len(nums)%2==0:
mid = (nums[len(nums)//2 - 1] + nums[len(nums)//2])//2
else:
mid = nums[len(num)//2]
ans = 0
for num in nums:
ans+= abs(num-mid)
return ans