int res = 0;
for (int i = 0; i < vec.size(); i++) {
res ^= vec[i];
}
int i = 0;
for (; i < 32; i++) {
if ((res&(1 << i)) == 1)
break;
}
vector<int> t1;
int res1 = 0;
int res2 = 0;
for (int j = 0; j < vec.size(); j++) {
if ((vec[j] & (1 << i)) == 1) {
res1 ^= vec[j];
}
else {
res2 ^= vec[j];
}
}
t1.push_back(res1);
t1.push_back(res2);
数组中存在两个只出现一次的数,其他元素只重复两次,找到只出现一次的数
最新推荐文章于 2022-10-18 17:44:49 发布