当前位置: 首页 > news >正文

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

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

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

示例 1:
输入:nums = [1,2,3]
输出:3
解释:
只需要3次操作(注意每次操作会增加两个元素的值):
[1,2,3] => [2,3,3] => [3,4,3] => [4,4,4]

示例 2:
输入:nums = [1,1,1]
输出:0

提示:
n == nums.length
1 <= nums.length <= 105
-109 <= nums[i] <= 109
答案保证符合 32-bit 整数
解题思路
每次操作对于n-1个数都加上1,那么总体样本中给最大的数减去1,那么这样问题化简为对于每个非最小的数与最小数的差值的累加和,就是所要操作的最小次数
代码一

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

代码二
优化了求最小值的函数,用 min_element去求最小值,这个是从C++98开始有的,所以直接用就行

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 产品概述Tektronix泰克TCP0030A电流探头TCP0030原装二手
  • 自然语言处理与深度学习的结合
  • pyinstaller 打包发布flask 应用
  • C++奇迹之旅:深度解析list的模拟实现
  • 【时时三省】(C语言基础)指针进阶6qsort函数的使用
  • BCC软译码和硬译码之间的性能差别
  • CAN协议通信 学习笔记
  • Linux启动流程和内核管理
  • 使用python导出Excel表格中的lua配置
  • 【网络安全 | 虚拟机】VMware Workstation Pro下载安装使用教程(免费版)
  • C语言深度复习【数组和指针】
  • 滚雪球学MyBatis-Plus(02):环境准备
  • python-word添加标题,段落,文字块
  • C++ 计算日期到天数转换(牛客网)
  • 基于SpringBoot+Vue+MySQL的宠物寄养服务管理系统
  • 2019年如何成为全栈工程师?
  • Apache Zeppelin在Apache Trafodion上的可视化
  • centos安装java运行环境jdk+tomcat
  • Docker入门(二) - Dockerfile
  • exif信息对照
  • Java应用性能调优
  • js算法-归并排序(merge_sort)
  • Linux中的硬链接与软链接
  • Quartz初级教程
  • Redis学习笔记 - pipline(流水线、管道)
  • SAP云平台里Global Account和Sub Account的关系
  • 构造函数(constructor)与原型链(prototype)关系
  • 记录一下第一次使用npm
  • 聊聊directory traversal attack
  • 前端技术周刊 2019-01-14:客户端存储
  • 前嗅ForeSpider采集配置界面介绍
  • 如何利用MongoDB打造TOP榜小程序
  • 手写双向链表LinkedList的几个常用功能
  • ​十个常见的 Python 脚本 (详细介绍 + 代码举例)
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • #define,static,const,三种常量的区别
  • #stm32整理(一)flash读写
  • #我与Java虚拟机的故事#连载02:“小蓝”陪伴的日日夜夜
  • (2)Java 简介
  • (9)目标检测_SSD的原理
  • (day6) 319. 灯泡开关
  • (iPhone/iPad开发)在UIWebView中自定义菜单栏
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (三)终结任务
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (学习日记)2024.01.19
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (转)【Hibernate总结系列】使用举例
  • (转)IOS中获取各种文件的目录路径的方法
  • (转)详解PHP处理密码的几种方式
  • (自用)网络编程
  • * 论文笔记 【Wide Deep Learning for Recommender Systems】
  • .bashrc在哪里,alias妙用