Проверить два массива на одинаковое число и вывести это число столько раз, сколько оно встречается в первом массиве

Рейтинг: 0Ответов: 1Опубликовано: 29.01.2023

Даны два массива разной длины, могут быть и одинаковые, условие что у них есть одно одинаковое значение, найти это значение и вывести на консоль его столько раз, сколько раз оно встречается в первом числе.

Нужен алгоритм как это всё выполнить, можно с использованием linq.

Ответы

▲ 0Принят

Алгоритм может быть такой:

  1. Построить карту частот для первого массива (ключ -- i-й элемент массива, значение -- количество вхождений в массив); сложность O(N), где N -- количество элементов первого массива.
  2. Проитерировать второй массив, чтобы найти совпадающий элемент в карте частот -- как только найден, вернуть уже известную частоту; сложность O(M), M -- количество элементов второго массива.

Реализация в коде не приводится в педагогических целях.