题意:给你 n双袜子,袜子全在柜子里,每次只能拿一只袜子放在桌子上,如果有一对袜子出现,则这对袜子消失
现在给你取出袜子的序号,求桌子上最多的时候有多少只袜子
思路:定义一个数组,映射袜子序列的数量,在定义一个变量 z,永远指向桌子上的袜子数量
在定义一个变量 num,指向出 z变化中的最大值,输入结束 num 既是答案
#include<bits/stdc++.h>
using namespace std;
const int maxn=100010;
int Ac[maxn];
int main(){
int n,val;
scanf("%d",&n);
int c=0,z=0,num=0;
memset(Ac,0,sizeof(Ac));
for(int i=0;i<2*n;++i){
scanf("%d",&val);
Ac[val]++;
if(Ac[val]==2){
z--;
Ac[val]=0;
}
if(Ac[val]==1){
z++;
if(num<z){
num=z;
}
}
}
printf("%d\n",num);
return 0;
}