пересечение n векторов

Я новичок в программировании, и недавно я столкнулся с проблемой нахождения пересечения n векторов (int-векторов), которые отсортировали целые числа. Подход, который я придумал, имеет сложность O (n ^ 2), и я использую функцию std :: set_intersect.

Подход, который я придумал, состоит в том, чтобы иметь два вектора: первый вектор будет соответствовать первому вектору, который у меня есть, а второй будет вторым вектором. Я вызываю set intersection для двух и перезаписываю первый вектор, а затем использую функцию vector clear для второго. Затем я перезаписываю следующий вектор на второй и повторяю процесс, и в конце концов возвращаю первый вектор.

Я верю, что есть более эффективный способ добиться этого, но в настоящий момент я не могу придумать более эффективного способа. Любая помощь по этому вопросу будет высоко ценится.

Ответы на вопрос(1)

Ваш ответ на вопрос