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

Опубликовано: 26 Февраля, 2023

Учитывая два массива, A[] и B[] , задача состоит в том, чтобы проверить, равны они или нет. Массивы считаются равными, если любая перестановка массива B равна массиву A .

Примеры:

Input: A[] = [2, 4, 5, 7, 5, 6] and B[] = [4, 2, 5, 5, 6, 7]
Output: Yes
Explanation: All the elements in array A are present in array B and same number of times.

Input: A[] = [2, 5, 8, 9, 78] and B[] = [5, 2, 7, 78, 8]
Output: No
Explanation: In array A there is a 9 and in array B there is a 7

Подход: проблема может быть решена с использованием хэш-карты на основе следующей идеи:

Two arrays will be equal only if the frequency of the respective elements in both arrays are equal.

Следуйте инструкциям, чтобы решить проблему:

  • Если размеры обоих массивов не равны, вернуть NO.
  • Поддерживайте хэш-карту и подсчитывайте частоту обоих элементов массива.
  • Если для какого-либо элемента частота не одинакова, то вернуть НЕТ
  • В противном случае вернуть YES

Ниже приведена реализация описанного выше подхода.

Time complexity: O(N) in average case and O(N2) in worst case.

Auxiliary Space: O(N)