leetcode 3736. 最小操作次数使数组元素相等 III 简单

给你一个整数数组 nums。

在一步操作中,你可以将任意单个元素 nums[i] 的值 增加 1。

返回使数组中的所有元素都 相等 所需的 最小总操作次数。

示例 1:

输入: nums = 2,1,3

输出: 3

解释:

使所有元素相等的操作如下:

  • 将 nums[0] = 2 增加 1, 变为 3。
  • 将 nums[1] = 1 增加 1, 变为 2。
  • 将 nums[1] = 2 增加 1, 变为 3。

现在,nums 中的所有元素都等于 3。最小总操作次数为 3。

示例 2:

输入: nums = 4,4,5

输出: 2

解释:

使所有元素相等的操作如下:

  • 将 nums[0] = 4 增加 1, 变为 5。
  • 将 nums[1] = 4 增加 1, 变为 5。

现在,nums 中的所有元素都等于 5。最小总操作次数为 2。

提示:

  • 1 <= nums.length <= 100
  • 1 <= nums[i] <= 100

分析:找到数组中最大元素,求出其它元素与最大元素的差值之和即为总操作数。

cpp 复制代码
class Solution {
public:
    int minMoves(vector<int>& nums) {
        int n=nums.size(),maxn=-1,ans=0;
        for(int i=0;i<n;++i)
            maxn=max(maxn,nums[i]);
        for(int i=0;i<n;++i)
            ans+=maxn-nums[i];
        return ans;
    }
};
相关推荐
文丑颜不良啊1 小时前
LeetCode1881~1990题目解析
java·leetcode
文丑颜不良啊4 小时前
LeetCode1861~1880题目解析
java·leetcode
文丑颜不良啊4 小时前
LeetCode1921~1940题目解析
java·leetcode
一去不复返的通信er7 小时前
排序 + 双指针:力扣15三数之和
算法·leetcode
文丑颜不良啊7 小时前
LeetCode1901~1920题目解析
java·leetcode
Pniubi7 小时前
力扣3无重复字符的最长字串(滑动窗口)
算法·leetcode·职场和发展
文丑颜不良啊2 天前
LeetCode1661~1680题目解析
java·leetcode
文丑颜不良啊2 天前
LeetCode1721~1740题目解析
java·leetcode
文丑颜不良啊2 天前
LeetCode1681~1700题目解析
java·leetcode