Leetcode——最小操作次数使数组元素相等
Posted Yawn,
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode——最小操作次数使数组元素相等相关的知识,希望对你有一定的参考价值。
1.最小操作次数使数组元素相等
(1)朴素
很重要的一点,n-1增加1,相当于剩下的那个减1。
- 等价于使 n - 1 个元素增加 1,这个操作实际上可以等价于使1个元素减少1
- 要保证数组中最小的元素不要再减小,对其他的元素使用这个操作,最终所有元素都减至最小值就可以结束了。
- 进行两次遍历,第一次遍历找出最小值,第二次遍历求每个元素与最小值的差值,也就是操作次数,最后对操作次数求和就是我们的答案
class Solution {
public int minMoves(int[] nums) {
int minNum = Integer.MAX_VALUE, ans = 0;
for (int i = 0; i < nums.length; i++) {
minNum = Math.min(minNum, nums[i]);
}
for (int i = 0; i < nums.length; i++) {
ans += nums[i] - minNum;
}
return ans;
}
}
以上是关于Leetcode——最小操作次数使数组元素相等的主要内容,如果未能解决你的问题,请参考以下文章
leetcode打卡--453. 最小操作次数使数组元素相等[关于数学的等效替代法]
Leetcode刷题100天—453. 最小操作次数使数组元素相等—day72
Leetcode刷题100天—453. 最小操作次数使数组元素相等—day72