2018北理计算机夏令营上机题第一题
题目一:
描述:输入一串随机的数,用逗号隔开。如果有重复数字就输出最靠后的一个,没有重复的就输出-1。
如输入:1,2,3,4,4,3,2,1 输出:1
输入:1,2,3,4,5,6,7,8 输出:-1
#include<iostream>
#include<string>
using namespace std;
int main(){
string s;
cin>>s;
int num[100];
int size=0;
int sum=0;//存储当前判断的数字
int flag=0;
//将字符串转化为int数组
for(int i=0;i<s.size();i++){
if(s[i]==','){
continue;
}
sum=0;
while(s[i]>='0'&&s[i]<='9'){
sum=sum*10+(s[i]-'0');
i++;
}
num[size]=sum;
size++;
}
//判断重复与否
for(int j=size-1;j>=0;j--){
for(int i=0;i<j;i++){
if(num[i]==num[j]){
cout<<num[j]<<endl;
flag=1;
break;
}
}
if(flag==1){
break;
}
}
if(flag==0){
cout<<-1<<endl;
}
return 0;
}