fork download
  1. class Solution {
  2.  
  3. static void findMissingNumbers(int[] arr){
  4.  
  5. int totalLength = arr.length + 2;
  6. int n = arr.length;
  7.  
  8. int totalXor = 0;
  9. for(int i = 1; i <=totalLength; i++){
  10.  
  11. totalXor = totalXor ^ i;
  12.  
  13. }
  14.  
  15. for(int i = 0; i < arr.length; i++){
  16.  
  17. totalXor = totalXor ^ arr[i];
  18.  
  19. }
  20.  
  21. int bit = totalXor & ~(totalXor-1);
  22.  
  23.  
  24.  
  25. int firstNumber = 0, secondNumber = 0;
  26. for(int i = 0; i < arr.length; i++){
  27.  
  28. if((arr[i] & bit) > 0){
  29. firstNumber = firstNumber ^ arr[i];
  30. }else{
  31. secondNumber = secondNumber ^ arr[i];
  32. }
  33.  
  34. }
  35.  
  36. for(int i = 1; i <= totalLength; i++){
  37.  
  38. if((i & bit) > 0){
  39. firstNumber = firstNumber ^ i;
  40. }else{
  41. secondNumber = secondNumber ^ i;
  42. }
  43.  
  44. }
  45.  
  46. System.out.println(firstNumber + "," + secondNumber);
  47.  
  48.  
  49.  
  50. }
  51.  
  52.  
  53. public static void main(String a[]){
  54.  
  55. int[] arr = {1, 3,5,2, 4};
  56. findMissingNumbers(arr);
  57.  
  58. }
  59. }
  60.  
Success #stdin #stdout 0.1s 35772KB
stdin
Standard input is empty
stdout
7,6