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.ui
Example:code
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-1個元素加1,至關於每次只有一個元素-1,相等就是都減到最小的元素。three
func minMoves(nums []int) int { size := len(nums) smallest := nums[0] total := 0 for _,val := range nums[1:] { if smallest > val { total += smallest smallest = val } else { total += val } } return total - (size -1) * smallest }