0462:最小操作次数使数组元素相等 II(★)
目录
题目
给你一个长度为 n
的整数数组 nums
,返回使所有数组元素相等需要的最小操作数。
在一次操作中,你可以使数组中的一个元素加 1
或者减 1
。
测试用例经过设计以使答案在 32 位 整数范围内。
示例 1:
输入:nums = [1,2,3] 输出:2 解释: 只需要两次操作(每次操作指南使一个元素加 1 或减 1): [1,2,3] => [2,2,3] => [2,2,2]
示例 2:
输入:nums = [1,10,2,9] 输出:16
提示:
n == nums.length
1 <= nums.length <= 105
-109 <= nums[i] <= 109
相似问题:
- 0296:最佳的碰头地点
- 0453:最小操作次数使数组元素相等
- 2033:获取单值网格的最小操作数(1671 分)
- 2171:拿出最少数目的魔法豆(1748 分)
- 2448:使数组相等的最小开销(2005 分)
- 2602:使数组元素全部相等的最少操作次数(1903 分)
- 2967:使数组成为等数数组的最小代价(2116 分)
分析
经典的数学问题,到中位数的总距离最短。
解答
|
|
36 ms