题解 | #牛牛的消消乐#
牛牛的消消乐
http://www.nowcoder.com/practice/9deb03b935ec4fd288a8ee5d20364581
牛牛的消消乐
问题描述:给定一个数组 nums,其中有 n 个非负整数。你的目的是进行两次操作,使得数组的元素之和最小。每次操作形如:任选一个整数 x ,将数组中所有大于等于 x 的数减去 x 。
示例
输入:[2,1,3]
返回值:0
说明:初始数组为 [2, 1, 3]。
先选择 x = 2,则所有大于等于 2 的元素减去 2 ,变成 [0, 1, 1]。
再选择 x = 1,则所有大于等于 1 的元素减去 1 ,变成 [0, 0, 0]。
所以数组元素之和的最小值为 0。
先选择 x = 2,则所有大于等于 2 的元素减去 2 ,变成 [0, 1, 1]。
再选择 x = 1,则所有大于等于 1 的元素减去 1 ,变成 [0, 0, 0]。
所以数组元素之和的最小值为 0。
方法一
思路分析
图解
核心代码
复杂度分析
- 时间复杂度
- 空间复杂度