Я видел решение этой проблемы в этой теме → Как найти повторяющийся элемент в массиве перемешанных последовательных целых чисел?
Но проблема, с которой я сейчас сталкиваюсь, мало чем отличается от нее.
int arr[10] = {1,2,3,4,5,6,7,8,4,9};
int a= 0;
for(int i=0;i<10;i++) {
a= a^ arr[i] ^i;
}
cout<<a;
Рассмотрим приведенный выше фрагмент кода. Вещи работают нормально, как есть. Но когда я добавляю 0 к вышеупомянутому массиву, например, int arr[11] = {0,1,2,3,4,5,6,7,8,4,9};
, я не получаю правильный повторяющийся элемент. Может ли кто-нибудь исправить мою ошибку, которую я здесь делаю?
i<11
вместоi<10
? Две самые сложные проблемы в CS: присвоение имен вещам, инвалидация кеша и ошибки «один за другим». - person krousey   schedule 05.11.2011