首页 > 考试 > 其他 > 正文
LeetCode 453. Minimum Moves to Equal Array Elements
2016-11-23       个评论    来源: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
上一篇:2016 acm/icpc 青岛网络赛 题解(hdu 5878-5889)
下一篇:LeetCode 463. Island Perimeter
相关文章
图文推荐
文章
推荐
热门新闻

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做实用的IT技术学习网站