数组中只出现一次的两个数字
2014-03-11 00:41
225 查看
在一个数组中除两个数字只出现1次外,其它数字都出现了2次, 要求尽快找出这两个数字。
#include <iostream> using namespace std; void fun(int a[], int n) { int temp = 0; for (int i = 0; i < n; i++) { temp ^= a[i]; } int bitFactor = 1; while (true) { if (temp & bitFactor) { break; } bitFactor <<= 1; } int result1 = 0; int result2 = 0; for (int i = 0; i < n; i++) { if (a[i] & bitFactor) { result1 ^= a[i]; } else { result2 ^= a[i]; } } cout << result1 << " " << result2 << endl; }
相关文章推荐
- 一个整型数组里除了两个数字之外,其他的数字都出现了两次。 请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n), 空间复杂度是O(1)
- 1.求第n个斐波那契数(非递归实现)。 2.一个数组中只有两个数字是出现一次,其他所有数字都出现 了两次。 找出这两个数字,编程实现。
- 找出数组中两个只出现一次的数字
- 数组中只出现一次的数字(两个)
- 算法--找出数组中两个只出现一次的数字
- 微策略2011校园招聘笔试题(找出数组中两个只出现一次的数字)
- 找出数组中两个只出现一次的数字
- 一个整形数组中只有两个数字是出现一次,其它成对出现
- 微软100题(61)找出数组中两个只出现一次的数字
- 找出数组中两个只出现一次的数字
- 一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。
- 一个整型数组里除了两个不同数字之外,其它的数字都出现了两次。请写程序找出这两个只出现一次的数字。
- 数组中两个只出现一次的数字
- 一个数组中只有两个数字是出现一次,其他所有数字都出现了两次,找出这两个数字,编程实现。
- 剑指Offer —— 找出数组中两个只出现了一次的数字
- 一个数组中只有两个数字是出现一次,其他所有数字都成对出现,找出这两个数字,编程实现
- 找出数组中两个只出现一次的数字
- 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。
- 找出数组中两个只出现一次的数字--分组异或
- 一个整形数组中只有两个数字是出现一次,其它成对出现