Quick actions

cmd+k|ctrl+k

Navigation

Languages

Print unique elements of an array

Snippet info

Language

Java

Visibility

public

Author

beksultan280119

Created

2018-05-17T10:29:16Z

Updated

2018-05-17T11:55:18Z

class Main {
    static int getBitVectorOfUnique(int[] arr) {
        int bitVector = 0;
        int bitVectorOfNonUnique = 0;
        for (int i = 0; i < arr.length; i++)
        {
            int mask = 1 << arr[i];
            if ((bitVector & mask) == 0) {
                bitVector |= mask;
            } else if((bitVectorOfNonUnique & mask) == 0) {
                bitVectorOfNonUnique |= mask;
            }
        }
        return (bitVector ^ bitVectorOfNonUnique);
    }
    static void printUniq(int[] arr) {
        int bitVector = getBitVectorOfUnique(arr);
        for (int i = 0; i < arr.length; i++)
        {
            int mask = 1 << arr[i];
            if ((bitVector & mask) != 0) {
                System.out.print(arr[i] + " ");
            }
        }
    }
    public static void main(String[] args) {
        int[] arr = {1, 5, 1, 10, 12, 10, 2147483646, 2147483647, 2147483647};
        printUniq(arr);
    }
}
INFO