462. Minimum Moves to Equal Array Elements II

来源:互联网 发布:手机流量打电话软件 编辑:程序博客网 时间:2024/05/24 06:16

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]

class Solution(object):    def minMoves2(self, nums):        """        :type nums: List[int]        :rtype: int        """        nums = sorted(nums)        left, right = 0, len(nums) - 1        result = 0        while left < right:            result += nums[right] - nums[left]            left, right = left + 1, right - 1        return result
阅读全文
0 0
原创粉丝点击