使数组唯一的最小增量
题目描述:
给定整数数组 A,每次 move 操作将会选择任意 A[i]
,并将其递增 1
。
返回使 A
中的每个值都是唯一的最少操作次数。
链接:https://leetcode-cn.com/problems/minimum-increment-to-make-array-unique/
我的思路:
先对数组进行排序,重复的数一定排在一起,再对重复的数进行move操作
若A[i]小于A[i+1],说明前后两数唯一,不做额外操作
若A[i]与A[i+1]相同,则对A[i+1]进行一次move操作,使前后两数唯一
若A[i]大于A[i+1],说明A[i]进行过一次以上move操作,需要对A[i+1]进行多一次的move操作才可使两数唯一,而需要进行的move操作的次数为(A[i]-A[i+1]+1)
代码如下:
以上
200322 Rewivy