题目链接
题目:一个数组,问改动多少后,能使其中元素没有重复的
示例: [1,2,2]
输出 1
解释:增1后,数组变为[1,2,3]
思路:排序,然后从第二个数开始比较,如果小于等于前面的数,对其进行改变,并记录,遍历一遍即可。
class Solution {
public int minIncrementForUnique(int[] A) {
Arrays.sort(A);
int len = A.length;
if(len == 0){
return 0;
}
int count = 0;
int pre = A[0];
for(int i = 1; i < len; i++){
if(A[i] <= pre){
count += (pre - A[i] + 1);
pre++;
}else{
pre = A[i];
}
}
return count;
}
}