使数组唯一的最小增量

Posted rewivy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使数组唯一的最小增量相关的知识,希望对你有一定的参考价值。

题目描述:

给定整数数组 A,每次 move 操作将会选择任意 A[i],并将其递增 1

返回使 A 中的每个值都是唯一的最少操作次数。

 

我的思路:

先对数组进行排序,重复的数一定排在一起,再对重复的数进行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

以上是关于使数组唯一的最小增量的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode——使数组唯一的最小增量

使数组唯一的最小增量

945. 使数组唯一的最小增量:计数排序思想的应用

Leetcode 945 使数组唯一的最小增量

Leetcode-945 Minimum Increment to Make Array Unique(使数组唯一的最小增量)

c_cpp 通过最小增量使元素在排序数组中不同