使数组唯一的最小增量

题目描述:

给定整数数组 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

posted @ 2020-03-22 19:04  Rewivy  阅读(118)  评论(0编辑  收藏  举报