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;
    }
}

猜你喜欢

转载自blog.csdn.net/ly0724ok/article/details/120863604
今日推荐