2018 BIT
第一题
给定任意个整数,以逗号隔开,输出最后一个重复数字,没有重复数字输出-1
输入:
1,2,3,4,4,3,2,1
1,2,3,4,5,6,7,8
0
1,0
0,1,0,1
输出
1
-1
-1
-1
1
没有考虑大整数和负数,而且没说清楚的是万一 给了一个全是-1的数列
int s[1000010];
int main()
{
int x;
char c;
int flag=-1,f=0;
while(1)
{
scanf("%d%c",&x,&c);
memset(s,0,sizeof(int));
int a=s[x];
s[x]++;
int b=s[x];
if(b>a)
{
flag=x;
if(b>=2)
f=1;
}
if(c=='\n')
break;
}
if(f==0)
cout<<"-1"<<endl;
else
cout<<flag<<endl;
return 0;
}
第二题
第二个题是一次shift操作就是把一个单词的第一个挪到最后,单词有n位就最多挪n次,问可以和原单词相同几次。
如输入:byebye 输出:2