453. Minimum Moves to Equal Array Elements
来源:互联网 发布:qpst有端口不显示手机 编辑:程序博客网 时间:2024/06/03 23:42
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.
假设共增加m次使得数组内所有数字都为x,原数组最小值为min,原数组所有数字加和为sum。
那么 sum+m*(n-1)*1=x*n
原加和+增加1的数量=现最大值*数组个数
其中m为要求的参数,x为未知的最大值,但是x=min+m最小值变最大值需要的次数就是m次
因此原式进化 sum+m*(n-1)*1=(min+m)*n
简化m=sum-min*n
另外一种思考方式:P(若每次增加n-1个数字+1直到所有数字相等),非P(每次让1个最大数字-1直到所有数字相等)
那么sum=m*1+min*n 原数组加和=现运行次数减去的1+最小值*数组个数
public class Solution { public int minMoves(int[] nums) { Arrays.sort(nums); int sum=0; for(Integer i:nums){ sum+=i; } return sum-nums[0]*nums.length; }}
阅读全文
0 0
- 453. Minimum Moves to Equal Array Elements
- 453. Minimum Moves to Equal Array Elements
- 453. Minimum Moves to Equal Array Elements
- 453. Minimum Moves to Equal Array Elements
- 453. Minimum Moves to Equal Array Elements
- 453. Minimum Moves to Equal Array Elements
- 453. Minimum Moves to Equal Array Elements
- 453. Minimum Moves to Equal Array Elements
- 453. Minimum Moves to Equal Array Elements
- 453. Minimum Moves to Equal Array Elements
- 453. Minimum Moves to Equal Array Elements
- 453. Minimum Moves to Equal Array Elements
- 453. Minimum Moves to Equal Array Elements*
- 453. Minimum Moves to Equal Array Elements
- 453. Minimum Moves to Equal Array Elements
- 453. Minimum Moves to Equal Array Elements
- 453. Minimum Moves to Equal Array Elements
- 453. Minimum Moves to Equal Array Elements
- netty 发送 超过 1024 数据
- 将beyond compare设置为svn的代码比较工具
- vivado【3】
- TGP无限验证码怎么办?
- spark--transform算子--distinct
- 453. Minimum Moves to Equal Array Elements
- 解决了ora-00119和ora-00132这个问题,不容易啊
- 解决错误error C2664: “CPropertySheet::AddPage”: 不能将参数 1 从“CAddendPage *__w64 ”转换为“CPropertyPage *”
- Python学习
- Ubuntu16.04.2中安装sql server数据库
- CentOS 7 安装 MySQL
- GB2312、GBK与UTF-8的区别
- 音频视频解决方案:GStreamer-ffmpeg-ffdshow-directshow-vfw
- JavaScript 数组详解