Kod:
#include <iostream>
#include <vector>
using namespace std;
int solution(vector<int> &A)
{
int result = 0;
for(int i : A)
{
result ^= i;
}
return result;
}
int main()
{
vector<int> vec {9,3,9,3,9,6,9};
cout << solution(vec) << endl;
return 0;
}
Może mi ktoś powiedzieć z jakich ot własności liczb binarnych korzysta ta funkcja, że zwraca dobry wynik? Bo ja bym nie wpadł, że wystarczy xorować... Dlaczego to działa?
Najpierw result ma 0, potem 9, nastepnie 10. Jak się to ma do tych liczb w vektorze?
Strona z zadaniem https://codility.com/programmers/task/odd_occurrences_in_array/