欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

LeetCode刷题: 【945】使数组唯一的最小增量

程序员文章站 2024-03-15 09:00:17
...

1. 题目

LeetCode刷题: 【945】使数组唯一的最小增量

2. 思路

首先对数组排序。
只允许加操作,在按任何次序使元素增加的过程中,保持最少次数的结果是一样的。
只需让排好序的数组中每个元素都至少比前一个元素大一即可,差值即为增加次数。

3. 代码

class Solution {
public:
    int minIncrementForUnique(vector<int>& A) {
        sort(A.begin(), A.end());
        int ans = 0;
        for(int i = 1; i < A.size(); i++){
            if(A[i] <= A[i-1]){
                ans += A[i-1] + 1 - A[i];
                A[i] = A[i-1] + 1;
            }
        }
        return ans;
    }
};