• To find missing numbers in an array first we need to make sure that array is sorted.
  • After sorting we need to check that array each element with next element then we can find the difference.
  • if Array is not sorted :To sort array use Arrays.sort(array);
  • If difference is 1 then no need to do any thing because numbers are in order.
  • If difference is not equal to 1 then we need to print all those numbers or pick those numbers and place it in one array.
  • this would be the logic to find missing numbers in an array
  • Here there may be a chance of array not starts with 1 then we need to check first itself whether array starts with 1 or not if not we need to print 1 to starting element of array.
  • for example int a[]={4,5,6,8}; then we need to print 1 2 3  7.



 Lets see a java example program to find missing numbers in an array.

  1. package arraysInterviewQuestions;
  2. public class PrintMissingNumbers {
  3.  
  4. private static void findMissingNumber(int[] number){
  5.  
  6.         // take max length as last number in array
  7.     int k[] = new int[number[number.length-1]];
  8.         
  9.   int m=0;
  10.  
  11.   if(number[0]!=1){
  12.    for (int x = 1; x < number[0]; x++) {
  13.        k[m] =  x;
  14.        m++;
  15.        }
  16.   }
  17.         
  18.  for (int i = 0; i < number.length -1; i++) {
  19.     
  20.     int j = i+1;
  21.     int difference = number[j] - number[i] ;
  22.             
  23.             
  24.    if(difference != 1 ){
  25.         
  26.   for (int x = 1; x < difference; x++) {
  27.  
  28.           k[m] = number[i] + x;
  29.            m++;
  30.     
  31. }
  32.             
  33.  }
  34.  }
  35.         
  36. System.out.println("missing numbers in array ::");
  37.         
  38. for (int l = 0; l < m ; l++) {
  39.     System.out.println( k[l]+" ");
  40. }
  41. }
  42.  public static void main(String[] args) {
  43.         
  44.    int a[]= {2,4,6,9,10,20};
  45.  
  46.    //if Array is not sorted :To sort array use Arrays.sort(a); 
  47.  
  48.   findMissingNumber(a);
  49.  
  50.    
  51. }
  52. }
 
program to find missing number in an array in java


  • Change the array in main method and practice try to find missing elements in an array that contains 1 to 100 numbers.

Instance Of Java

We will help you in learning.Please leave your comments and suggestions in comment section. if you any doubts please use search box provided right side. Search there for answers thank you.
«
Next
Newer Post
»
Previous
Older Post

No comments

Leave a Reply

Select Menu