題目出處
453. Minimum Moves to Equal Array Elements
難度
medium
題目分類
Array, Math
2026-11-01 一刷
個人範例程式碼 - 一刷 (2026/11/01)
class Solution:
def minMoves(self, nums: list[int]) -> int:
# n-1 add 1 == one minus 1, target = all same
low = min(nums)
return sum(nums) - low * len(nums) # all = low
算法說明
算是巧妙的數學問題,題目說的允許 n-1 個數字 +1,
在「操作次數」上,等價於把一個數字減一,目標是全部數字相同。
因此,目標變成全部變成 low 需要操作的次數,等於「sum - low * len」
Time Complexity
O(n)
Space Complexity
O(1)