leetcode:453. Minimum Moves to Equal Array Elements

Given a non-empty integer array of size n, find the minimum number of moves required to make all array elements equal, where a move is incrementing n - 1 elements by 1.

Example:

**Input:**
[1,2,3]

**Output:**
3

**Explanation:**
Only three moves are needed (remember each move increments two elements):

[1,2,3]  =>  [2,3,3]  =>  [3,4,3]  =>  [4,4,4]

大意是講 n個數,每次要增加n-1個(那不就是減小一個數嗎)問最多增加多少次(那不就是減少多少次嗎)?
反過來想就簡單了。即減少多少次能到全相等。

class Solution(object):
    def minMoves(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        m=min(nums)
        ans=0
        for i in nums:
            ans+=i-m
        return ans
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章