class Solution {
static void findMissingNumbers(int[] arr){
int totalLength = arr.length + 2;
int n = arr.length;
int totalXor = 0;
for(int i = 1; i <=totalLength; i++){
totalXor = totalXor ^ i;
}
for(int i = 0; i < arr.length; i++){
totalXor = totalXor ^ arr[i];
}
int bit = totalXor & ~(totalXor-1);
int firstNumber = 0, secondNumber = 0;
for(int i = 0; i < arr.length; i++){
if((arr[i] & bit) > 0){
firstNumber = firstNumber ^ arr[i];
}else{
secondNumber = secondNumber ^ arr[i];
}
}
for(int i = 1; i <= totalLength; i++){
if((i & bit) > 0){
firstNumber = firstNumber ^ i;
}else{
secondNumber = secondNumber ^ i;
}
}
System.
out.
println(firstNumber
+ "," + secondNumber
);
}
public static void main
(String a
[]){
int[] arr = {1, 3,5,2, 4};
findMissingNumbers(arr);
}
}
Y2xhc3MgU29sdXRpb24gewoKIHN0YXRpYyB2b2lkIGZpbmRNaXNzaW5nTnVtYmVycyhpbnRbXSBhcnIpewoKICAgaW50IHRvdGFsTGVuZ3RoID0gYXJyLmxlbmd0aCArIDI7CiAgIGludCBuID0gYXJyLmxlbmd0aDsKCiAgIGludCB0b3RhbFhvciA9IDA7CiAgIGZvcihpbnQgaSA9IDE7IGkgPD10b3RhbExlbmd0aDsgaSsrKXsKCiAgICAgdG90YWxYb3IgPSB0b3RhbFhvciBeIGk7CgogICB9CgogICBmb3IoaW50IGkgPSAwOyBpIDwgYXJyLmxlbmd0aDsgaSsrKXsKCiAgICAgdG90YWxYb3IgPSB0b3RhbFhvciBeIGFycltpXTsKCiAgIH0KCiAgIGludCBiaXQgPSB0b3RhbFhvciAmIH4odG90YWxYb3ItMSk7CgoKCiAgIGludCBmaXJzdE51bWJlciA9IDAsICBzZWNvbmROdW1iZXIgPSAwOwogICBmb3IoaW50IGkgPSAwOyBpIDwgYXJyLmxlbmd0aDsgaSsrKXsKCiAgICAgaWYoKGFycltpXSAmIGJpdCkgPiAwKXsKICAgICAgIGZpcnN0TnVtYmVyID0gZmlyc3ROdW1iZXIgXiBhcnJbaV07CiAgICAgfWVsc2V7CiAgICAgICBzZWNvbmROdW1iZXIgPSBzZWNvbmROdW1iZXIgXiBhcnJbaV07CiAgICAgfQoKICAgfQoKICAgZm9yKGludCBpID0gMTsgaSA8PSB0b3RhbExlbmd0aDsgaSsrKXsKCiAgICAgaWYoKGkgJiBiaXQpID4gMCl7CiAgICAgICBmaXJzdE51bWJlciA9IGZpcnN0TnVtYmVyIF4gaTsKICAgICB9ZWxzZXsKICAgICAgIHNlY29uZE51bWJlciA9IHNlY29uZE51bWJlciBeIGk7CiAgICAgfQoKICAgfQoKICAgU3lzdGVtLm91dC5wcmludGxuKGZpcnN0TnVtYmVyICsgIiwiICsgc2Vjb25kTnVtYmVyKTsKCgoKIH0KCgogcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nIGFbXSl7CgogICBpbnRbXSBhcnIgPSB7MSwgMyw1LDIsIDR9OwogICBmaW5kTWlzc2luZ051bWJlcnMoYXJyKTsKCiB9Cn0K