LeetCode_453. Minimum Moves to Equal Array Elements

社会主义新天地 提交于 2019-12-06 15:34:17

 

453. Minimum Moves to Equal Array Elements

Easy

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:
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]

 

package leetcode.easy;

public class MinimumMovesToEqualArrayElements {
	public int minMoves(int[] nums) {
		if (nums == null || nums.length == 0) {
			return 0;
		}
		int min = nums[0];
		for (int i = 0; i < nums.length; i++) {
			min = Math.min(min, nums[i]);
		}
		int moves = 0;
		for (int i = 0; i < nums.length; i++) {
			moves += nums[i] - min;
		}
		return moves;
	}

	@org.junit.Test
	public void test() {
		int[] nums = { 1, 2, 3 };
		System.out.println(minMoves(nums));
	}
}

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!