Размер массива равен n. Все элементы в массиве различаются в диапазоне от [0, n-1], за исключением двух элементов. Обратите внимание на повторяющийся элемент без использования дополнительного временного массива с постоянной временной сложностью.Головоломка: поиск повторяющегося элемента в массиве
Я пробовал с o (n) следующим образом.
a[]={1,0,0,2,3};
b[]={-1,-1,-1,-1,-1};
i=0;
int required;
while(i<n)
{
b[a[i]]++;
if(b[a[i]==1)
required=a[i];
}
print required;
Если нет никаких ограничений на диапазон чисел позволяет т.е. вне диапазона also.Is возможно Get O (N) раствор без временного массива.
Это домашнее задание? На самом деле это не вопрос для SO. (Если это не домашняя работа.) – JoshD
Это можно сделать в 'O (1)' time? Вы уверены, что не занимаетесь этим с линейным временем? Решение, о котором я могу думать, по-прежнему требует, чтобы вы прошли через n элементов. – birryree
@Josh Это больше похоже на вопрос интервью – NullUserException