每日一题(16)

题目:最小操作次数使数组元素相等

题目描述

给你一个长度为 n 的整数数组,每次操作将会使 n - 1 个元素增加 1 。返回让数组所有元素相等的最小操作次数

解题思路

首先这是一个智商题,n-1个数加1,最终所有的数相等,等于一个数减1,最终所有的数相等
相等值肯定是最小值,那么其他数减去最小数的和即为操作次数

代码

class Solution {
public:
    int minMoves(vector<int>& nums) {
        int minNum = *min_element(nums.begin(),nums.end());
        int res = 0;
        for (int num : nums) {
            res += num - minNum;
        }
        return res;
    }
};

版权声明:本文为weixin_43665653原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。