1
У меня есть векторы, и я хотел бы получить один вектор, содержащий все записи, которые не дублируются нигде во всех входных векторах.Удалять повторяющиеся записи через векторы
#include <vector>
int main() {
std::vector<int> a = {2, 1, 3};
std::vector<int> b = {99, 1, 3, 5, 4};
std::vector<int> c = {5, 6, 7, 1};
// magic to retrieve {2, 99, 4, 6, 7} (order doesn't matter)
}
Есть ли функция библиотеки, которая может эффективно выполнять эту задачу?
Я не привязан к использованию векторов. Решение может включать в себя списки, наборы или все, что наиболее подходит для задачи.
Это не решает задачу. Если запись появляется несколько раз, я хотел бы, чтобы она полностью ударила ногой. –
Вы не сказали, нормально ли использовать O (N) пространство для этой задачи ok. Если это нормально, вы можете сначала поместить все элементы в unorderd_map сначала, а затем элемент, который имеет число count equl до 1, помещенное в vector –
@Nico Schlömer Почему 99 в последовательности результатов отсутствует? –