leetcode-453.最小操作次数使数组元素相等

题目

https://leetcode-cn.com/problems/minimum-moves-to-equal-array-elements/

解法

这题不会,直接看的题解
意思就是反向思考,每次 n-1 个数字加一,可以认为是一个数字减一,直到所有数字相等
那只能是所有的数字减到最小值才能使所有数字完全相等

func minMoves(nums []int) int {
	// 取最小值
	minNum := nums[0]
	for _, n := range nums {
		fmt.Println(n)
		if n < minNum {
			minNum = n
		}
	}
	
	// 减去最小值
	ans := 0
	for _, n := range nums {
		ans += n - minNum
	}

	return ans
}

参考

最小操作次数使数组元素相等

posted @ 2021-11-08 20:24  吴丹阳-V  阅读(46)  评论(0编辑  收藏  举报