文章
34
粉丝
89
获赞
2
访问
19.1k
#include<bits/stdc++.h>
using namespace std;
const int N = 1e5 + 5;//不知道具体多少数以及数的大小 就尽量设置大一些
int a[N];
int flag[N];
string str;
int GetNumber(int &i){//获取字符串中的数字,会有超过两位的数字
int num = 0;
while(isdigit(str[i])){
num *= 10;
num += str[i] - '0';
i++;
}
return num;
}
int main(){
while(getline(cin,str)){
int len = str.size();
int cnt = 0;//字符串中数字的个数
fill(flag,flag+N,0);
for(int i = 0;i < len;i++){
if(isdigit(str[i])){
int num = GetNumber(i);
a[cnt++] = num;//把数字加入a数组中
flag[num]++;//num这个数字的出现次数加一
}
}
int ans = -1;//答案
for(int i = 0;i < cnt;i++){
if(flag[a[i]] > 1){// a[i]的出现次数超过一次,也即有重复
ans = a[i];// 将它赋值给ans
}
}
cout << ans << endl;
}
}
登录后发布评论
暂无评论,来抢沙发