频道栏目
首页 > 考试 > 其他 > 正文

LeetCode 453. Minimum Moves to Equal Array Elements

2016-11-23 09:24:00      个评论    来源:James Pan  
收藏   我要投稿

原题网址:https://leetcode.com/problems/minimum-moves-to-equal-array-elements/

 

Given anon-emptyinteger array of sizen, find the minimum number of moves required to make all array elements equal, where a move is incrementingn- 1 elements by 1.

Example:

Input:
[1,2,3]

Output:
3

Explanation:
Only three moves are needed (remember each move increments two elements):

[1,2,3]  =>  [2,3,3]  =>  [3,4,3]  =>  [4,4,4]

方法:反过来分析,每次只操作最大的数字,递减,与原问题是等价的。

 

public class Solution {
    public int minMoves(int[] nums) {
        int min = Integer.MAX_VALUE;
        for(int num: nums) {
            min = Math.min(min, num);
        }
        int moves = 0;
        for(int num: nums) {
            moves += num - min;
        }
        return moves;
    }
}


 

相关TAG标签 LeetCode
上一篇:ZSTUOJ 2016ACM新生选拔赛 (更新中)
下一篇:LeetCode 463. Island Perimeter
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训

版权所有: 红黑联盟--致力于做实用的IT技术学习网站