Quick actions

cmd+k|ctrl+k

Navigation

Languages

Find number that appears only once.

Snippet info

Language

Java

Visibility

public

Author

devernul

Created

2018-12-11T02:59:45Z

Updated

2018-12-11T03:00:09Z

class Main {
    public static void main(String[] args) {
        int[] arr = { 5, 5, 4, 8, 4, 5, 8, 9, 4, 8 };
        System.out.print("Input Matrix : " );
        for (int i = 0; i < arr.length; i++)
            System.out.print(arr[i] + "  " );
        Main solution = new Main();
        System.out.println("\n\nThe number which occured only once is: "  + solution.findRequiredNum(arr, 3));
    }

    public int findRequiredNum(int arr[], int n) {
        int countSetBit[] = new int[32];

        for (int i = 0; i < arr.length; i++) {
            for (int k = 0; k < 32; k++) {
                int kthSetBit = 1 << k;
                if ((arr[i] & kthSetBit) == kthSetBit)
                    countSetBit[k]++;
            }
        }
        int occurredOnce = 0;
        for (int i = 0; i < 32; i++) {
            countSetBit[i] = countSetBit[i] % n;
            if (countSetBit[i] == 1)
                occurredOnce = occurredOnce | (1 << i);
        }
        return occurredOnce;
    }
}
INFO