Допустим, у меня есть два набора:Быстрый набор соответствия перекрытия алгоритм
A = [1, 3, 5, 7, 9, 11]
и
B = [1, 3, 9, 11, 12, 13, 14]
Оба набора могут быть произвольными (и различающимися числом элементов).
Я пишу приложение, критичное к производительности, которое требует от меня выполнить поиск, чтобы определить количество элементов, которые имеют оба набора. Мне действительно не нужно возвращать матчи, только количество матчей.
Очевидно, что наивный метод был бы грубой силой, но я подозреваю, что это почти не оптимально. Есть ли алгоритм для выполнения этого типа операции?
Если это помогает, во всех случаях наборы будут состоять из целых чисел.
И вы можете предположить, что оба набора представлены в любом порядке (хотя второй набор в вашем примере это не так)? – FDavidov
Что значит «грубая сила»? Вы имеете в виду поиск O (n^2)? Вам нужно описать, что вы «воображали» – UmNyobe
@FDavidov Я немного изменил вопрос. Вы можете предположить, что оба набора упорядочены в порядке возрастания. – NOP