Проверить два массива на одинаковое число и вывести это число столько раз, сколько оно встречается в первом массиве
Даны два массива разной длины, могут быть и одинаковые, условие что у них есть одно одинаковое значение, найти это значение и вывести на консоль его столько раз, сколько раз оно встречается в первом числе.
Нужен алгоритм как это всё выполнить, можно с использованием linq.
Ответы (1 шт):
Автор решения: Nowhere Man
→ Ссылка
Алгоритм может быть такой:
- Построить карту частот для первого массива (ключ --
i-й элемент массива, значение -- количество вхождений в массив); сложность O(N), где N -- количество элементов первого массива. - Проитерировать второй массив, чтобы найти совпадающий элемент в карте частот -- как только найден, вернуть уже известную частоту; сложность O(M), M -- количество элементов второго массива.
Реализация в коде не приводится в педагогических целях.