package com.interview.bits;
/**
* http://www.geeksforgeeks.org/find-the-element-that-appears-once/
*/
public class FindNumberOccurringOnceOtherNumbers3Times {
public int getNumberOccurringOnce(int arr[]){
int result = 0;
for(int i=0; i < 32; i++){
int sum = 0;
for(int j=0; j < arr.length; j++){
sum += (arr[j] & 1<<i)>>i;
}
result = result | (sum%3)<<i;
}
return result;
}
public static void main(String args[]){
FindNumberOccurringOnceOtherNumbers3Times fno = new FindNumberOccurringOnceOtherNumbers3Times();
int arr[] = {1,1,2,5,6,1,6,6,2,2};
// int arr[] = {1,1,1,4,1,1,1};
System.out.println(fno.getNumberOccurringOnce(arr));
}
}