Найдите числа, присутствующие как минимум в двух из трех массивов.
Опубликовано: 21 Сентября, 2022
Учитывая 3 массива, arr[] , brr[] и crr[] , задача состоит в том, чтобы найти общие элементы как минимум в 2 массивах из заданных 3 массивов.
Примеры :
Input: arr[] = {1, 1, 3, 2, 4}, brr[] = {2, 3, 5}, crr[] = {3, 6}
Output: {2, 3}
Explanation: Elements 2 and 3 appear in atleast 2 arraysInput: arr[] = {3, 1}, brr[] = {2, 3}, crr[] = {1, 2}
Output: {2, 3, 1}
Подход : Задача может быть решена с помощью HashSet. Для решения проблемы выполните следующие шаги:
- Создайте три хэш-набора (s1, s2 и s3) для хранения отдельных элементов трех массивов, а также один хэш-набор для хранения отдельных элементов всех трех массивов.
- Повторите набор и проверьте наличие общих элементов по крайней мере в двух наборах (s1, s2), (s1, s3) и (s2, s3).
- Если элемент удовлетворяет приведенному выше условию, выведите этот элемент.
Ниже приведена реализация приведенного выше кода:
Временная сложность : O(n1+n2+n3) (где n1, n2 и n3 — длина заданных массивов)
Вспомогательное пространство : O(n1+n2+n3)