У меня есть двумерный вектор целочисленного типа, который содержит большое количество векторов (т.е. 18000
и выше), и в этом пуле имеется значительное количество повторяющихся векторов. Я хочу обнаружить похожие векторы и удалить один из них.
В настоящее время я сравниваю каждый вектор со всем пулом, используя следующую функцию: `
bool compareVectors(vector<int> a, vector<int> b)
{
if (a.size() != b.size())
{
return false;
}
sort(a.begin(), a.end());
sort(b.begin(), b.end());
return (a == b);
}
Но это неэффективно делает процесс, вероятно, из-за большого количества сравнений, которые я делаю. Есть ли возможные эффективные способы сделать это?