How to find missing elements of a given range in array of distinct elements with C++

1 Answer

0 votes
#include <unordered_set>
#include <iostream>

void printMissingElements(int arr[], int size, int range_start, int range_end) {
    std::unordered_set<int> uset;
    for (int i = 0; i < size; i++)
        uset.insert(arr[i]);
        
    for (int i = range_start; i <= range_end; i++)
        if (uset.find(i) == uset.end())
            std::cout << i << " ";
}

int main()
{
    int arr[] = {2, 4, 5, 7, 9};
    int range_start = 1, range_end = 9;
    int size = sizeof(arr) / sizeof(arr[0]);
    
    printMissingElements(arr, size, range_start, range_end);
}




/*
run:

1 3 6 8 

*/

 



answered May 23, 2023 by avibootz
edited May 23, 2023 by avibootz
...