Saturday, May 21, 2022

All Repeating Except Two





package pep.Day82;

import java.io.*;
import java.util.*;

public class All_Repeating_Except_Two {

public static void main(String[] args) {
Scanner scn = new Scanner(System.in);
int n = scn.nextInt();
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = scn.nextInt();
}
solution(arr);
}

public static void solution(int[] arr) {
int xor_of_array = 0;
for (int i : arr) {
xor_of_array = xor_of_array ^ i;
}

int right_most_set_bit = (xor_of_array & (-xor_of_array));
int a = 0, b = 0;
for (int i : arr) {
if ((i & right_most_set_bit) == 0)
a = a ^ i;
else b = b ^ i;
}

if (a > b) {
System.out.println(b + "\n" + a);
} else {
System.out.println(a + "\n" + b);
}

}

}

No comments:

Post a Comment

Diagonal Traversal

 eg.  1       2       3       4 5      6       7       8 9    10    11     12 13  14   15    16 Output: 1 6 11 16 2 7 12 3 8 4  Approach:...