我们首先分析,这看似是链表,实则用数组很好写。
其地址都是整数,那我们创建一个很大的结构体数组,让其下标与地址对应,就可不费力的完成对下一地址的查找。
同理,对于数值是否重复,也可以创建一个大数组,用于记录出现过的数字。
即可实现空间换时间的美妙交换。
#include<stdio.h>
#include<assert.h>
#include <stdlib.h>
struct asd
{
int num;
int next;
};
int main()
{
struct asd s[100000];//用于存储所有数据
struct asd s1[100000];//用于存储重复数据
int p[10001];//用于存储已经出现过的数值
int n,m