Golang:
思路:先做一次排序,然后看每一个值,如果等于上一个值,那么该元素需要自增,如果小于上一个值,那么该元素需要调整为上一个元素自增一的值
代码如下:
func minIncrementForUnique(A []int) int {
res:=0
sort.Ints(A)
if len(A)<=1{
return res
}
for i:=1;i<len(A);i++{
if A[i]==A[i-1]{
A[i]++
res++
}else{
if A[i]<A[i-1]{
res+=A[i-1]+1-A[i]
A[i]=A[i-1]+1
}
}
}
return res
}
有疑问加站长微信联系(非本文作者)