c_cpp 用一个更大的值替换两个连续的相等值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 用一个更大的值替换两个连续的相等值相关的知识,希望对你有一定的参考价值。

#include <bits/stdc++.h>
using namespace std;

int reform(vector <int> &a){
    int c=0;
    for(int i=0;i<a.size()-1;i++){
        if (a[i]==a[i+1]){
            a[i]+=1;
            a.erase(a.begin()+i+1);
            c++;
        }
    }
    if(c!=0)
        reform(a);
    else
        for(int i=0;i<a.size();i++)
            cout<<a[i]<<"  ";

}


int main(){
    int n;
    cout << "Enter the no.of elements:";
    cin>>n;
    vector <int> a(n);
    cout<<"Enter the elements:\n";
    for(int i=0;i<n;i++)
        cin>> a[i];

    reform(a);
}

以上是关于c_cpp 用一个更大的值替换两个连续的相等值的主要内容,如果未能解决你的问题,请参考以下文章

为啥子元素不能用更大的值覆盖父元素的不透明度?

C++ 将两个 int 数组连接成一个更大的数组

下一个更大的元素

在 oracle SP 中用更大的数据类型替换 varchar2

496.下一个更大的元素I

CSV:如何在列表中找到下一个更大的值(python)?