leetcode-453. Minimum Moves to Equal Array Elements
来源:互联网 发布:直播app软件源码 编辑:程序博客网 时间:2024/06/05 17:13
453. 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 array elements equal, where a move is incrementing n - 1 elements by 1.
Example:
Input:[1,2,3]Output:3Explanation:Only three moves are needed (remember each move increments two elements):[1,2,3] => [2,3,3] => [3,4,3] => [4,4,4]
题意:
给定一个非空数组,长度为 n,定义一种移动操作,每次可以将 n-1 的个元素加 1,求最少次的移动,是所有元素都相等
题解:
我也是看了discuss的,其实是一个数学问题。 首先,每次肯定都要将前 n-1 个较小的元素加 1 !
大致意思是:
定义 sum 为数组所有元素的和,minNum 为最小元素, n 为数组长度, 所求最小移动次数为 m ,移动 m 次后所有元素的值都是 x
- 首先有 sum + m*( n - 1) = x * n ,(这个好理解,m次移动,每次都能加 n-1 ,最后的值都是 x,共有 n 个)
- 其次有 x = minNum + m (最终的元素值为 x ,最小值每次都要 “移动“” 的 )
- 两个方程联立,就能求出 m = sum - n * minNum ,这就是所求的了。
附上代码:
class Solution { public int minMoves(int[] nums) { Arrays.sort(nums); int sum = 0; for(int i = 0;i<nums.length;i++) sum+=nums[i]; return sum - nums.length*nums[0]; }}
阅读全文
0 0
- Leetcode Minimum Moves to Equal Array Elements
- leetcode :Minimum Moves to Equal Array Elements
- LEETCODE--Minimum Moves to Equal Array Elements
- LeetCode : Minimum Moves to Equal Array Elements
- leetcode-Minimum Moves to Equal Array Elements
- leetcode[Minimum Moves to Equal Array Elements]
- Minimum Moves to Equal Array Elements(leetcode)
- LeetCode 453. Minimum Moves to Equal Array Elements
- 【leetcode】453. Minimum Moves to Equal Array Elements【E】
- leetcode:453. Minimum Moves to Equal Array Elements
- [leetcode] 453. Minimum Moves to Equal Array Elements 解题报告
- leetcode 453. Minimum Moves to Equal Array Elements
- LeetCode 453. Minimum Moves to Equal Array Elements
- LeetCode 453. Minimum Moves to Equal Array Elements
- 453.[Leetcode]Minimum Moves to Equal Array Elements
- LeetCode-453. Minimum Moves to Equal Array Elements
- LeetCode 453. Minimum Moves to Equal Array Elements
- 【LeetCode】 453. Minimum Moves to Equal Array Elements
- Angular 4入门教程系列:10:TypeScript:结合gulp的第一个Helloworld
- QNX最新版本-QNX-SDP7.0的安全性加密升级与系统等级提升
- HDU 3501 Calculation 2
- HBase之HFile详解
- 成为Java顶尖程序员 ,看这10本书就够了
- leetcode-453. Minimum Moves to Equal Array Elements
- ACM_整除个数
- options
- Spring实战-读书笔记(章节一、二)-Spring框架的目的以及装配Bean
- 初始化中的kmem_cache 实例
- matlab function的使用
- 【Lucene】创建第一个Lucene索引库
- 顶级会议论文研读集
- Mac上python2和python3的版本切换的简单处理方式