Solution#1
public class Solution {
public int minMoves(int[] nums) {
int result = 0;
int tmp = nums[0];
for (int i = 0; i < nums.length; i++) {
if (tmp < nums[i]) {
result += nums[i] - tmp;
} else if (tmp > nums[i]) {
result += (tmp - nums[i]) * i;
tmp = nums[i];
}
}
return result;
}
}
public class Solution {
public int minMoves(int[] nums) {
Arrays.sort(nums);
int result = 0;
for (int i = nums.length - 1; i > 0; i--) {
result += nums[i] - nums[0];
}
return result;
}
}
Problem#1
- 思想是先排序,在将差值相加,效率不够高