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之每日一题》:183.最小操作次数使数组元素相等

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

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

Leetcode刷题100天—453. 最小操作次数使数组元素相等—day72

Leetcode刷题100天—453. 最小操作次数使数组元素相等—day72

LeetCode 453. 最小操作次数使数组元素相等 / 66. 加一 / 229. 求众数 II(摩尔投票法)