这道题经过暴力模拟解题发现时间复杂度巨高,然后改为求min与所有数组元素求差的和,代码如下:
public class Solution {
public int minMoves(int[] nums) {
int length = nums.length;
int steps = 0,gap = 0;
//int max = Integer.MIN_VALUE;
int min = Integer.MAX_VALUE;
for(int i = 0;i<length;i++){
if(nums[i] < min){
min = nums[i];
}
}
for(int i =0;i<length;i++){
steps += nums[i] - min;
}
return steps;
}
}