资讯专栏INFORMATION COLUMN

LeetCode每日一题: 最小移动次数使数组元素相等(No.453)

Muninn / 849人阅读

摘要:题目最小移动次数使数组元素相等给定一个长度为的非空整数数组,找到让数组所有元素相等的最小移动次数。加一减一所以先求出最小的元素,在求出所有元素与最小元素的差值的和,即为最小移动次数。

题目:最小移动次数使数组元素相等


给定一个长度为 n 的非空整数数组,找到让数组所有元素相等的最小移动次数。每次移动可以使 n - 1 个元素增加 1。 复制代码

示例:


输入: [1,2,3] 输出: 3 解释: 只需要3次移动(注意每次移动会增加两个元素的值): [1,2,3] => [2,3,3] => [3,4,3] => [4,4,4] 复制代码

思考:


这道题可以反过来想,按题意将n-1个元素加1,其实可以当做给剩下的那个数减1。 加一:[1,2,3] => [2,3,3] => [3,4,3] => [4,4,4] 减一:[1,2,3] => [1,2,2] => [1,1,2] => [1,1,1] 所以先求出最小的元素,在求出所有元素与最小元素的差值的和,即为最小移动次数。 复制代码

实现:


class Solution { public int minMoves(int[] nums) { int min = nums[0]; int count = 0; for(int i = 0;i

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/6640.html

相关文章

  • LeetCode每日一题: 旋转数组No.189)

    摘要:题目旋转数组给定一个数组,将数组中的元素向右移动个位置,其中是非负数。例如将到反转将到反转全部翻转得到最后结果。这里要注意下还有这样的情况即大于数组长度的情况。次旋转次旋转转回来了次旋转次旋转转回来了次旋转所以这里的有效等于对数组长度求余。 题目: 旋转数组 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。 示例: 输入: [1,2,3,4,5,6,7] 和 k...

    FreeZinG 评论0 收藏0
  • 70道前端LeetCode题目集合及视频讲解(持续更新中...)

    前端LeetCode刷题 下面是已刷的题目的目录。GitHub:https://github.com/cunzaizhuy...每日打卡更新中,欢迎关注。 数组类 26 删除排序数组中的重复项 27 移除元素 35 搜索插入位置 66 加1 80 medium 删除排序数组中的重复项2 88 合并两个有序数组 167 两数之和II - 输入有序数组 118 杨辉三角 169 easy 求众数 1...

    mayaohua 评论0 收藏0
  • leetcode每日一题-859:亲密字符串

    摘要:每日一题亲密字符串链接亲密字符串题目分析题目本身不是很难,但是有不少需要注意的地方,逐一来进行分析。首先如果两个字符串不一样长,那么肯定是。 leetcode每日一...

    张迁 评论0 收藏0
  • web前端教程《每日一题》(1-99)完结

    摘要:输出在中,值表示一个空对象指针,而这正是使用操作符检测值时会返回的原因。属性规定必需在提交之前填写输入字段。通过字面量方式创建的数组对象是属于类的一个实例,所以返回,故弹出。第期年月日代码运行的结果输出前端教程。 第1期(2016年4月6日): (1)js中关闭当前窗口的方法是:window.close(); 第2期(2016年4月7日): (1)js中使字符串中的字符变为小写的方法是...

    golden_hamster 评论0 收藏0
  • web前端教程《每日一题》(1-99)完结

    摘要:输出在中,值表示一个空对象指针,而这正是使用操作符检测值时会返回的原因。属性规定必需在提交之前填写输入字段。通过字面量方式创建的数组对象是属于类的一个实例,所以返回,故弹出。第期年月日代码运行的结果输出前端教程。 第1期(2016年4月6日): (1)js中关闭当前窗口的方法是:window.close(); 第2期(2016年4月7日): (1)js中使字符串中的字符变为小写的方法是...

    forsigner 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<