首页 > 其他分享 >453 最小操作次数使数组元素相等

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

时间:2022-10-08 11:02:48浏览次数:46  
标签:相等 nums res 453 次数 num 数组 元素

 

 思路:题目说只需要找出让数组所有元素相等的最小操作次数,所以不需要考虑数组中各个元素的绝对大小,即不需要真正算出数组中所有元素相等时的元素值,只需要考虑数组中元素相对大小的变化即可。

因此,每次操作既可以理解为使 n-1个元素增加 1,也可以理解使 1 个元素减少 1。显然,后者更利于计算。

于是,要计算让数组中所有元素相等的操作数,只需要计算将数组中所有元素都减少到数组中元素最小值所需的操作数。

1 class Solution:
2     def minMoves(self, nums: List[int]) -> int:
3         min_num = min(nums)
4         res = 0
5         for num in nums:
6             res += num - min_num
7         return res

 

标签:相等,nums,res,453,次数,num,数组,元素
From: https://www.cnblogs.com/wanxueyu/p/16768288.html

相关文章

  • 数组左方的区域
    数组左方的区域求一个数组左方的所有区域的和以及平均数第一种推荐算法:超级无敌简单暴力法O(n)(最优解解法)就是:每一行单独计算,然后把每一行单独计算的值给累计起来......
  • 剑指 Offer 03. 数组中重复的数字
    力扣链接:剑指Offer03.数组中重复的数字acwing链接最初的思路是,将所有数据放入桶中,数据存在,数据桶值就++,有数据重复就retrunnums[i],无数据重复就return-1,且需......
  • 困难-4. 寻找两个正序数组的中位数
    这题难了我几天,重写了几遍代码,一直感觉不对,算法复杂度没降下来,直到今天10月7日完成### 解题思路不停判断区间1是否相交区间2假如中位数存在num1中,不停地对nums1取中......
  • 【C语言】初始数组
    ......
  • 攻防世界favorite_number(php数组溢出+正则m绕过+Linux命令绕过)
    <?php//php5.5.9$stuff=$_POST["stuff"];$array=['admin','user'];if($stuff===$array&&$stuff[0]!='admin'){$num=$_POST["num"];if(preg_ma......
  • P3919 【模板】可持久化线段树 1(可持久化数组)
    还是用主席树来做(因为提到不同的版本),这时候的主席树不是以权值为下标的,就是普通的线段树,维护范围1~n,i存的是a[]中的数。1#include<bits/stdc++.h>2usingnamespac......
  • C++模板类-数组
    /*Container.h所有容器的基类/*MemoryObject内存申请基类我使用TBB申请内存*/template<typenameT> classContainer:publicMemoryObject { protected: T*C......
  • 189. 轮转数组
    189.轮转数组给你一个数组,将数组中的元素向右轮转k 个位置,其中 k 是非负数。 示例1:输入:nums=[1,2,3,4,5,6,7],k=3输出:[5,6,7,1,2,3,4]解释:向右轮......
  • 数组的上半比分操作的优化
    对于一个二维数组进行上半部分操作求和求avg#include<cstdio>#include<iostream>#include<cmath>usingnamespacestd;constintN=1000;doublea[N][N];int......
  • Java Arrays:专为数组而生的工具类
    titleshortTitlecategorytagdescriptionheadJavaArrays:专为数组而生的工具类Arrays工具类Java核心常用工具类Java程序员进阶之路,小白的零......