Java Program for Find the element that appears once Last Updated : 22 Dec, 2021 Improve Improve Like Article Like Save Share Report Given an array where every element occurs three times, except one element which occurs only once. Find the element that occurs once. Expected time complexity is O(n) and O(1) extra space. Examples : Input: arr[] = {12, 1, 12, 3, 12, 1, 1, 2, 3, 3} Output: 2 In the given array all element appear three times except 2 which appears once. Input: arr[] = {10, 20, 10, 30, 10, 30, 30} Output: 20 In the given array all element appear three times except 20 which appears once. Recommended: Please solve it on “PRACTICE ” first, before moving on to the solution. Java //JAVA code to find the element //that occur only once class GFG { // Method to find the element that occur only once static int getSingle(int arr[], int n) { int ones = 0, twos = 0; int common_bit_mask; for(int i=0; i<n; i++ ) { /*"one & arr[i]" gives the bits that are there in both \'ones\' and new element from arr[]. We add these bits to \'twos\' using bitwise OR*/ twos = twos | (ones & arr[i]); /*"one & arr[i]" gives the bits that are there in both \'ones\' and new element from arr[]. We add these bits to \'twos\' using bitwise OR*/ ones = ones ^ arr[i]; /* The common bits are those bits which appear third time So these bits should not be there in both \'ones\' and \'twos\'. common_bit_mask contains all these bits as 0, so that the bits can be removed from \'ones\' and \'twos\'*/ common_bit_mask = ~(ones & twos); /*Remove common bits (the bits that appear third time) from \'ones\'*/ ones &= common_bit_mask; /*Remove common bits (the bits that appear third time) from \'twos\'*/ twos &= common_bit_mask; } return ones; } // Driver method public static void main(String args[]) { int arr[] = {3, 3, 2, 3}; int n = arr.length; System.out.println("The element with single occurrence is " + getSingle(arr, n)); } } // Code contributed by Rishab Jain Please refer complete article on Find the element that appears once for more details! Like Article Suggest improvement Previous Java Program for Print Number series without using any loop Next Java Program to Check horizontal and vertical symmetry in binary matrix Share your thoughts in the comments Add Your Comment Please Login to comment... Similar Reads First element that appears even number of times in an array How to Fill (initialize at once) an Array in Java? Java Program to Find the Index of the TreeSet Element Java Program to Find the Maximum Element in a Matrix Java Program to Find element at given index after a number of rotations Java Program to Find the Mth element of the Array after K left rotations Java Program to Find maximum element of each row in a matrix Java Program for Find lost element from a duplicated array Java Program to Find the K'th largest element in a stream Java Program To Find Next Greater Element Like GeeksforGeeks Article Tags : Java Programs