zoukankan      html  css  js  c++  java
  • 462. 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]
    

    Accepted
    30,412
    Submissions
    58,513

    class Solution:
        def minMoves2(self, nums):
            """
            :type nums: List[int]
            :rtype: int
            """
            nums.sort()
            if len(nums)//2==len(nums)/2:
                t1,t2 = nums[len(nums)//2-1],nums[len(nums)//2]
                res1,res2 = 0,0
                for i in nums:
                    res1 += abs(i-t1)
                    res2 += abs(i-t2)
                return min(res1,res2)
            else:
                t = nums[len(nums)//2]
                res = 0
                for i in nums:
                    res += abs(i-t)
                return res
    
  • 相关阅读:
    7-1 抓老鼠啊~亏了还是赚了?
    7-1 币值转换
    7-1 打印沙漏
    打印沙漏
    第十周作业
    第九周作业
    第八周作业
    第七周作业
    7-1 判断上三角矩阵 (15 分)
    第二次实验过程
  • 原文地址:https://www.cnblogs.com/bernieloveslife/p/10059556.html
Copyright © 2011-2022 走看看