LeetCode 筆記 - 453. Minimum Moves to Equal Array Elements

題目在此 453. Minimum Moves to Equal Array Elements

給定一個數列,每一步可以選定一格,其他 n - 1 格都會加 1
請給出讓每個數字都相等的最小步驟

解題思維

首先我們可以轉換一下問題
n - 1 個數字加 1 轉變成 選定一個數字減 1

所以這個問題就會變成 把每個數字變成數列最小數字的次數
這樣思考就簡單多了

程式碼

1
2
3
4
5
6
7
8
class Solution:
def minMoves(self, nums: List[int]) -> int:

min_value = min(nums)
result = 0
for n in nums:
result += n - min_value
return result

也許你也會想看看