题目描述
给定一个长度为 n 的非空整数数组,找到使所有数组元素相等的最小操作次数,每次操作将会使 n - 1 个元素增加 1。
示例:
1 | 输入: |
解题思路
- 思维方式:逆向思维、数学
- 核心思想:每次操作使
n - 1个元素+1, 那么就相当于每次有一个元素-1,直到把所有元素都减小到最小值就可以了
代码
1 | int32_t MinMoves(std::vector<int32_t> nums) { |
- 时间复杂度:O(n)
给定一个长度为 n 的非空整数数组,找到使所有数组元素相等的最小操作次数,每次操作将会使 n - 1 个元素增加 1。
示例:
1 | 输入: |
n - 1个元素+1, 那么就相当于每次有一个元素-1,直到把所有元素都减小到最小值就可以了1 | int32_t MinMoves(std::vector<int32_t> nums) { |