一组带数字编号的球里除了两个编号之外,其它的编号都出现了两次。 请写程序找出这两个只出现一次的编号。要求时间复杂度是O(n),空间复杂度是O(1)。
输入描述:
整形数组长度不超过1000000


输出描述:
输出数组中2个只出现了一次的数先输出较小的数
示例1

输入

1
2
3
4
5
2
3
4
5
6

输出

1 6

备注:
可以考虑以以下代码作为模板,实现其中的getNumber()函数。#include using namespace std;int a[1000001];void getNumber(const int a[], int n, int&num1, int&num2) {自行实现,要求时间O(n),空间O(1)。}int main(void) {int n = 0;while (~scanf("%d",&a[n+1])) ++n;int p,q;getNumber(a,n,p,q);if (pq) swap(p,q);printf("%d %d\n",p,q);return 0;}
加载中...