1、找出序列中重复的数字和缺少的数字
由于记账错误,给定的一个正整数序列里面,有两个数字重复了,同时缺少了一个数字。
要求写一个函数,找出序列中重复的数字和缺少的数字。
例如:
输入:[1, 5, 2, 2, 3]
输出:[2, 4]
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector<int> a;
int i,j,aa;
int o,p;
i=0;
o=p=0;
while(cin>>aa){
a.push_back(aa);
if (cin.get() == '\n') break;
}
int n=a.size();
sort(a.begin(),a.end());
for(i=0;i<n-1;i++){
if(a[i+1]-a[i]==0) o=a[i];//找重复
if(a[i+1]-a[i]>1) p=a[i+1]-1;//找缺少的
}
cout<<o<<" "<<p;
return 0;
}