human
I found an interesting problem on https://leetcode.com/problems/minimum-moves-to-equal-array-elements-ii/:
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]

I tried it in Python, but could not do it. Can you solve it?
assistant
#Here is Python code to 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.

class Solution:
     def minMoves2(self, nums):
         """
         :type nums: List[int]
         :rtype: int
         """
         mid = len(nums) // 2
         tar = sorted(nums)[mid]
         return sum([abs(x - tar) for x in nums])