public Pair twoNumbersOccuringOddTimes(int arr[]){
        int r = 0;
        for(int i=0; i < arr.length; i++){
            r = r^arr[i];
        }
    
        r = r & ~(r-1);
        int r1 = 0;
        int r2 = 0;
        for(int i=0; i < arr.length; i++){
            if((r&arr[i]) == 0){
                r1 = r1^arr[i];
            }else{
                r2 = r2^arr[i];
            }
        }
        Pair p = new Pair();
        p.a = r1;
        p.b = r2;
        return p;
    }
http://www.geeksforgeeks.org/find-the-number-occurring-odd-number-of-times/
http://www.geeksforgeeks.org/find-two-non-repeating-elements-in-an-array-of-repeating-elements/
src/com/interview/bits/NumberOccuringOddTimes.java