Lesson 75, № 349, Intersection of Two Arrays / Leetcode

8 Просмотры
Издатель
Резюме и советы:

Выбор решения:
Для большинства случаев используйте решение через множества (intersection1)
Если важна память и допустима сортировка входных данных - используйте решение через два указателя (intersection2)
Для специфических случаев (большие числа, нужен подсчет частоты) - используйте решение со словарем (intersection3)

Сложность решений:
Множества: O(n+m) время, O(n+m) память
Сортировка: O(nlogn + mlogm) время, O(1) доп. память
Словарь: O(n+m) время, O(n) память

Рекомендации по использованию:
Проверяйте входные данные на пустоту
Учитывайте возможные дубликаты
Рассматривайте крайние случаи
Выбирайте решение исходя из конкретных требований

Возможные модификации:
Подсчет частоты пересечений
Сохранение порядка элементов
Работа с отрицательными числами
Оптимизация памяти

Это решение подходит для большинства практических случаев и может быть легко модифицировано под конкретные требования.
Категория
Программирование на си шарп
Комментариев нет.