בהנחה שכל מספר מופיע פעמיים ורק המספר הייחודי מופיע פעם אחת.
אפשר לרוץ בלולאה אחת על המערך (יעילות זמן (O(N ויעילות מיקום (1)O) כאשר בכל איטרציה מבצעים XOR.
ב-Java זה נראה כך:
public int f(int[] arr){
int result = 0;
for(int i=0; i<arr.length; i++)
result ^= arr[i]; //the operator ^ is XOR
return result;
}
אם מריצים את הקוד הנ"ל על המערכים הבאים:
int a[] = {4,1,6,2,1,3,4,8,5,7,5,6,7,2,9,8,9}
int b[] = {6,-14,6,16,-3,16,-3};
int c[] = {8,8,8,8,7,8,8};
int d[] = {1,2,70,1,2};
int e[] = {9,9,9,9,9,9,9,7,7,5,7,7,9};
התוצאה היא:
result of array a = 3
result of array b = -14
result of array c = 7
result of array d = 70
result of array e = 5