修改数组

using namespace std;
const int N = 1e6 + 1e5 + 10;
int p[N];
int find(int x)  // 并查集
{
    if (p[x] != x) p[x] = find(p[x]);
    return p[x];
}
int main()
{
    int n;
    cin >>n;
    for(int i = 1; i <= N; i ++)p[i] = i;
    for(int i = 1; i <= n; i ++)
    {
        int x;
        cin >> x;
        x =find(x);
        cout << x<<" ";
        p[x] = x + 1;
        
    }
}
全部评论

相关推荐

小浪_Coding:1. 个人技能排版太乱, 写的技术栈太浅了, 跟测试,自动化相关的太少; 2. 项目开发类的太简单没有亮点, 算法类的项目建议只放一个,最好有自动化,CI/CD, pipline的项目, 需要更换; 3.整体排版需要优化, SOOB打招呼都需要注意等.
我的简历长这样
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务