空间换时间
查看原帖
空间换时间
1290314
hdh1103楼主2024/3/13 12:39
#include <iostream>
#include<string>
#include<sstream>
#include<algorithm>
#include <math.h>
#include <set>
#include <map>
using namespace std;
int a[1000005]= {0};
int b[1000005]= {0};
int n ;
int index1=0,index2=0;
int main()
{

    cin>>n;

    for(int i=1; i<=n; i++)
    {
        cin>>a[i];
        //0-a-1
        b[a[i]] = i;
    }

    for(int i=1; i<=n; i++)
    {
        //记录元素为0的下标元素
        long long index = b[0];

        b[0] = b[i];
        b[i] = index;

        //值换一下
        index = a[b[0]];
        a[b[0]] = i;
        a[b[i]] = index;


    }

    for(int i=1; i<=n; i++)
    {
        cout<<a[i]<<" ";

    }
    return 0;
}

2024/3/13 12:39
加载中...