Распечатать все уникальные элементы, присутствующие в отсортированном массиве
Опубликовано: 22 Сентября, 2022
Учитывая отсортированный массив arr[] размера N, задача состоит в том, чтобы напечатать все уникальные элементы в массиве.
An array element is said to be unique if the frequency of that element in the array is 1.
Примеры:
Input: arr[ ] = {1, 1, 2, 2, 3, 4, 5, 5}
Output: 3 4
Explanation: Since 1, 2, 5 are occurring more than once in the array, the distinct elements are 3 and 4.Input: arr[ ] = {1, 2, 3, 3, 3, 4, 5, 6}
Output: 1 2 4 5 6
Подход: самый простой подход к решению проблемы — пройтись по массиву arr[] и вывести только те элементы, частота которых равна 1 . Выполните следующие шаги, чтобы решить проблему:
- Переберите массив arr[] и инициализируйте переменную, скажем, cnt = 0, для подсчета частоты текущего элемента массива.
- Поскольку массив уже отсортирован, проверьте, совпадает ли текущий элемент с предыдущим. Если окажется, что это правда, то обновите cnt += 1 .
- В противном случае, если cnt = 1, то выведите элемент. В противном случае продолжайте .
Ниже приведена реализация вышеуказанного подхода:
Временная сложность: O(N)
Вспомогательное пространство: O(1)