Print unique elements of an array

Run Settings
LanguageJava
Language Version
Run Command
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); } }
Editor Settings
Theme
Key bindings
Full width
Lines