two_odd_occuring in a array in java

 


Method 1:

public class j10_two_odd_occuring {
    static void oddAppearing(int arr[], int n) {
        for (int i = 0; i < n; i++) {
            int count = 0;
            for (int j = 0; j < n; j++) {
                if (arr[i] == arr[j])
                    count++;
            }
            if (count % 2 != 0)
                System.out.print(arr[i] + " ");
        }
    }

    public static void main(String[] args) {
        int arr[] = { 3, 4, 3, 4, 5, 4, 4, 6, 7, 7 }, n = 10;
        oddAppearing(arr, n);
    }
}


Method 2:

public class j10_two_odd_occuring {
    static void oddAppearing(int arr[], int n) {
        int xor = 0, res1 = 0, res2 = 0;

        for (int i = 0; i < n; i++)
            xor = xor ^ arr[i];

        int sn = xor & (~(xor - 1));
        for (int i = 0; i < n; i++) {
            if ((arr[i] & sn) != 0)
                res1 = res1 ^ arr[i];
            else
                res2 = res2 ^ arr[i];
        }
        System.out.println(res1 + " " + res2);
    }

    public static void main(String[] args) {
        int arr[] = { 3, 4, 3, 4, 5, 4, 4, 6, 7, 7 }, n = 10;
        oddAppearing(arr, n);
    }
}

Comments

Popular Post

Write the definition for a class called complex that has floating point data members for storing real and imaginary parts. The class has the following member functions: void set(float, float) to set the specified value in object void disp() to display complex number object complex sum(complex) to sum two complex numbers & return complex number 1. Write the definitions for each of the above member functions. 2. Write main function to create three complex number objects. Set the value in two objects and call sum() to calculate sum and assign it in third object. Display all complex numbers.