С++ Нахождение общих элементов в двух массивах, модификация кода
Прошу помочь в следующем вопросе: при сдаче программе на проверку задачи не набираю пару баллов по причине "Time out" (длительная обработка решения). Возможно ли оптимизировать код? Или я допустил где то ошибку. Код прилагаю. Заранее спасибо
vector <int> array1;
vector <int> array2;
vector <int> finalArray;
int size1 = 0;
int size2 = 0;
cin >> size1;
array1.resize(size1);
pushArray(array1);
cin >> size2;
array2.resize(size2);
pushArray(array2);
finalArray.resize(0);
int repeat = 0;
int count = 0;
for (int i = 0; i < array1.size(); i++)
{
for (int j = 0; j < array2.size(); j++)
{
if (array1[i] == array2[j])
{
for (int k = 0; k < finalArray.size(); k++)
{
if (finalArray[k] == array2[j]) repeat++;
}
if (repeat == 0)
{
finalArray.push_back(array2[j]);
count++;
}
repeat = 0;
}
}
}
if (count > 0)
{
cout << count << " ";
printArray(finalArray);
}
else
{
cout << count;
}