Posts

Showing posts from May, 2021

Find multiple missing elements unsorted in an unsorted array

class FindMultpleMissingElementsInAnArray {     int[] array;     boolean present[];     int low;     int high;     void printMissingElements() {         // Corner case          if(array.length == 0) {             System.out.println("Array is empty");         }           findLowAndHighElements();         createAndPopulateBooleanArray();                  for(int i = 0; i < present.length; i++) {             if(present[i] == false) {                 int missingElement = low + i;                 System.out.println("Missing element is : " + missingElement);             }         }     }     void findLowAndHighElements() {         low = array[0];         high = array[0];         for(int i = 0; i < array.length; i++) {             // find highest element             if(array[i] > high) {                 high = array[i];             }             // find lowest element             if(array[i] < low) {                 low = array[i];             }         }     }

Find multiple missing elements in sorted an array

class FindMultpleMissingElementsInAnArray {     static int getMissingElement(int[] array) {         // Corner case          if(array.length == 0) {             System.out.println("Array is empty");             return -1;         }         int sum = 0;          for(int i = 0; i < array.length; i++) {             sum += array[i];         }         int n = array[array.length - 1]; // last element in list         int sumOfNNaturalNumbers = n*(n+1)/2;         return sumOfNNaturalNumbers - sum;     }     static void printMissingElements(int[] array) {         // Corner case          if(array.length == 0) {             System.out.println("Array is empty");         }         int diff = array[0];          for(int i = 0; i < array.length; i++) {             if(array[i] - i != diff) {                 while(diff < array[i] - i) {                     int missingElement = diff + i;                     System.out.println("Missing element is : " + missingElement)

Find single missing element in sorted an array

class FindSingleMissingElementInAnArray {     static int getMissingElement(int[] array) {         // Corner case          if(array.length == 0) {             System.out.println("Array is empty");             return -1;         }         int sum = 0;          for(int i = 0; i < array.length; i++) {             sum += array[i];         }         int n = array[array.length - 1]; // last element in list         int sumOfNNaturalNumbers = n*(n+1)/2;         return sumOfNNaturalNumbers - sum;     }     static void getMissingElement2(int[] array) {         // Corner case          if(array.length == 0) {             System.out.println("Array is empty");         }         int diff = array[0];          for(int i = 0; i < array.length; i++) {             if(array[i] - i != diff) {                 int missingElement = diff + i;                 System.out.println("Missing element is : " + missingElement);                 break; // don't use break if need to f