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

Posted

tags:

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

//https://www.geeksforgeeks.org/making-elements-distinct-sorted-array-minimum-increments/
#include <iostream>
using namespace std;

int func (int a[], int n) {
    int prev= a[0], sum= a[0];
    for (int i=1;i<n; i++) {
        if (a[i]<=prev) {
            prev+= 1;
            sum+= prev;
        }
        else {
            prev= a[i];
            sum+= a[i];
        }
    }
    return sum;
}

int main() {
    int n;
    cin>>n;
    int a[n];
    for (int i=0;i<n;i++)
        cin>>a[i];
    cout<<func(a,n);
}

以上是关于c_cpp 通过最小增量使元素在排序数组中不同的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp 非排序数组中的最小元素

c_cpp 找到最小长度未排序的子阵列,排序使整个数组排序

c_cpp 从两个排序的数组中获取第k个最小元素。数组中的前k个

c_cpp 递增排序的数组(元素不重复),旋转一定长度后,求数组中最小的数。如{1,2,3,4,5,6},旋转后{4,5,6,1,2, 3},旋转后的数组最小值为1

使数组唯一的最小增量

Leetcode使数组唯一的最小增量(每日一题)