import java.util.*; public class Main { // Given a sorted array of integers, write a function to print the unique numbers in the array. // EXPECTED OUTPUT: 12, 13, 14, 17, 21, 33, 43, 55, 61, 77, 900 public static void main(String[] args) { int array[] = { 12, 13, 14,14, 17, 21, 33,43, 43, 43, 55, 61, 77, 900 }; System.out.println("EXPECTED OUTPUT: [12, 13, 14, 17, 21, 33, 43, 55, 61, 77, 900]"); printDistinct(array); } // Simplest solution is to use a HashMap because the HashMap data structure only stores a unique // key-value pair for each element it contains, with no duplicates. private static void printDistinct(int array[]) { // Create the HashMap data structure holding two integers HashMap hashMap = new HashMap<>(); // Loop over the length of the array of integers and place // each element into the HashMap. for (int i = 0; i < array.length; i++) { hashMap.put(array[i], i); } // Sort the keys of the HashMap by placing all keys into a ArrayList. // Create the ArrayList Structure that has the length of the HashMap. List sortedKeys = new ArrayList<>(hashMap.size()); // Add all the keys to the ArrayList. sortedKeys.addAll(hashMap.keySet()); // Sort all the keys in the ArrayList in ascending order. Collections.sort(sortedKeys); // Print out the keys of the HashMap, since all keys are unique. System.out.println("ACTUAL OUTPUT: " + sortedKeys); } }