【剑指offer】数组中只出现一次的数字(数组)
程序员文章站
2022-07-15 10:58:23
...
题目描述
一个整型数组里除了两个数字之外,其他的数字都出现了偶数次。请写程序找出这两个只出现一次的数字。
链接
代码
class Solution {
public:
void FindNumsAppearOnce(vector<int> data,int* num1,int *num2) {
if(data.size() < 2){
return;
}
int cut = 0;
for(int i = 0; i < data.size(); i++){
cut ^= data[i];
}
int index = 0;
while(!(cut & 1)){
cut = cut >> 1;
index++;
}
for(int i = 0; i < data.size(); i++){
if(data[i] >> index & 1){
*num1 ^= data[i];
}
else{
*num2 ^= data[i];
}
}
}
};
上一篇: 转 Offline Workflow Approval in ECC R/3 without SAP Logon from E-Mail (Outlook)
下一篇: SAP SE38 增强
推荐阅读
-
剑指offer28:找出数组中超过一半的数字。
-
C#版剑指Offer-001二维数组中的查找
-
PHP查找数组中只出现一次的数字实现方法【查找特定元素】
-
剑指Offer积累-JZ1-二维数组中的查找
-
剑指offer之在排序数组中查找数字 I(C++/Java双重实现)
-
剑指Offer04:二维数组中的查找(Java)
-
【剑指 Offer-python】 03. 数组中重复的数字
-
剑指 offer代码最优解析——面试题35第一个只出现一次的字符
-
剑指offer 56 数组中数字出现的次数 lintcode 82. 落单的数、83. 落单的数 II、84. 落单的数 III
-
剑指offer——二维数组中的查找