题目:

给你一个长度为 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 整数

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/minimum-moves-to-equal-array-elements
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解题思路:

一、

题目是说每次将n-1个元素增加1  <==> 将1个元素减去1,这把题目转化成数组长度为n,每次让1个元素减去1,求所有元素相等的最小次数。保持最小元素不变,让其他元素都变为最小元素。

1.先找到数组中最小的数min;

2.把其他元素减小到最小元素所需要的次数相加:sum += nums[i] - min;

累加可以变成:所有元素之和 - min*n

代码:

变换过程:

二、

先将所有元素从小到大进行排序,那第一个元素就是最小值,就用其他元素减去第一个元素进行累加就可以得到操作次数。

代码:

力扣453(java)-最小操作次数使数组元素相等(简单)的更多相关文章

  1. Java实现 LeetCode 453 最小移动次数使数组元素相等

    453. 最小移动次数使数组元素相等 给定一个长度为 n 的非空整数数组,找到让数组所有元素相等的最小移动次数.每次移动可以使 n - 1 个元素增加 1. 示例: 输入: [1,2,3] 输出: 3 ...

  2. LeetCode 453. 最小移动次数使数组元素相等(Minimum Moves to Equal Array Elements) 47

    453. 最小移动次数使数组元素相等 453. Minimum Moves to Equal Array Elements 题目描述 给定一个长度为 n 的非空整数数组,找到让数组所有元素相等的最小移 ...

  3. 力扣(LeetCode)453. 最小移动次数使数组元素相等

    给定一个长度为 n 的非空整数数组,找到让数组所有元素相等的最小移动次数.每次移动可以使 n - 1 个元素增加 1. 示例: 输入: [1,2,3] 输出: 3 解释: 只需要3次移动(注意每次移动 ...

  4. LeetCode#453 最小移动次数使数组元素相等

    给定一个长度为 n 的非空整数数组,找到让数组所有元素相等的最小移动次数.每次移动可以使 n - 1 个元素增加 1. 示例: 输入: [,,] 输出: 解释: 只需要3次移动(注意每次移动会增加两个 ...

  5. 453 Minimum Moves to Equal Array Elements 最小移动次数使数组元素相等

    给定一个长度为 n 的非空整数数组,找到让数组所有元素相等的最小移动次数.每次移动可以使 n - 1 个元素增加 1.示例:输入:[1,2,3]输出:3解释:只需要3次移动(注意每次移动会增加两个元素 ...

  6. [Swift]LeetCode453. 最小移动次数使数组元素相等 | Minimum Moves to Equal Array Elements

    Given a non-empty integer array of size n, find the minimum number of moves required to make all arr ...

  7. 【leetcode 简单】 第一百零九题 最小移动次数使数组元素相等

    给定一个长度为 n 的非空整数数组,找到让数组所有元素相等的最小移动次数.每次移动可以使 n - 1 个元素增加 1. 示例: 输入: [1,2,3] 输出: 3 解释: 只需要3次移动(注意每次移动 ...

  8. Leetcode453.Minimum Moves to Equal Array Elements最小移动次数使数组元素相等

    给定一个长度为 n 的非空整数数组,找到让数组所有元素相等的最小移动次数.每次移动可以使 n - 1 个元素增加 1. 示例: 输入: [1,2,3] 输出: 3 解释: 只需要3次移动(注意每次移动 ...

  9. leetcode - 最小移动次数使数组元素相等

    思路 (假设数组每次都已被排好序) 每次使得小于等于最大值的n-1的数字加1,直接暴力求解会超时 改进一: 为了让最小元素等于最大元素,至少需要数组中最大值-最小值次, 所以以此为基础再次暴力求解(参 ...

  10. Java实现 LeetCode 462 最少移动次数使数组元素相等 II

    462. 最少移动次数使数组元素相等 II 给定一个非空整数数组,找到使所有数组元素相等所需的最小移动数,其中每次移动可将选定的一个元素加1或减1. 您可以假设数组的长度最多为10000. 例如: 输 ...

随机推荐

  1. immutable 不可改变的 mut ≈ to move = to change - 单词学习

    immutable im-不,非 + mut-改变 + -able. im 通 in able 有能力的 重点是 mut 的含义是 to change t 就是to mu 就是 change (*拉丁 ...

  2. 【深度学习】批量归一化 BatchNormalization

    一.背景       机器学习的本质是对物理世界进行建模,做的就是拟合数据分布.      但是在模型训练过程中,神经网络参数不断更新,导数中间层的数据分布频繁地变化(内部协变量偏移),不利于网络参数 ...

  3. HDU 2056:Rectangles(两个矩形交点的性质)

    一.原题链接 Problem - 2056 (hdu.edu.cn) 二.题面 Given two rectangles and the coordinates of two points on th ...

  4. spring boot 自动装载对象为null问题的解决

    情况描述 有个Server类,成员变量是spring中自动管理的bean类对象 public class Server { @Autowired private CommandMapper comma ...

  5. day04-应用线程03

    JavaGUI-坦克大战04 7.线程的应用03 7.3坦克大战4.0版 7.3.4功能3:敌方坦克自由移动 功能3:让敌人的坦克也可以自由随机地上下左右移动 思路: 因为要求敌人的坦克自由移动,因此 ...

  6. leetcode数据库sql之Delete Duplicate Emails

    leetcode原文引用: Write a SQL query to delete all duplicate email entries in a table named Person, keepi ...

  7. 【jQuery】(8)---jquery Ajax

    jquery ajax 一.AJAX 概述 1.什么是 AJAX? 特点 AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使 ...

  8. 分析项目中ANR问题

    简介 之前接手的老项目,从接手到现在也没怎么去维护过,突然测试那边给我提了一个ANR的BUG,由于从别人手中接手,并且此项目也不是经常需要维护,所有对项目代码并不是特别熟悉,因此解决此问题还是比较麻烦 ...

  9. HiSi 3516CV500 NNIE(Neural Network Inference Engine) 摸鱼记录(3) ---真机调试(实例分析)

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(Bl ...

  10. Cesium渲染模块之Texture

    1. 引言 Cesium是一款三维地球和地图可视化开源JavaScript库,使用WebGL来进行硬件加速图形,使用时不需要任何插件支持,基于Apache2.0许可的开源程序,可以免费用于商业和非商业 ...