在其它数都出现偶次的数组中找到出现奇数次的数组

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wzc2608/article/details/81178395
#include <iostream>
#include <vector>
using namespace std;
void printOdd(vector<int> & arr)
{
    int eO = 0;
    for(int i = 0; i < arr.size(); ++i)
        eO ^= arr[i];
    cout << eO << endl;
}
void printOdd2(vector<int> & arr)
{
    int eo = 0, eone = 0;
    for(int i = 0; i < arr.size(); ++i)
        eo ^= arr[i];
    int righreo = eo & (~eo + 1);
    for(int i = 0; i < arr.size(); ++i)
    {
        if(arr[i] & righreo)
            eone ^= arr[i];
    }
    cout << eone << (eone ^ eo) << endl;
}
int main()
{
    int a[] = {1, 1, 2, 3, 4, 4, 3, 5};
    vector<int> ivec(a, a + 8);
    printOdd2(ivec);
}

猜你喜欢

转载自blog.csdn.net/wzc2608/article/details/81178395