我已經看到了在這個線程這個問題的解決方案 - >How to find a duplicate element in an array of shuffled consecutive integers?XOR找到重複陣列中的
但我現在遇到的問題是它基本不變。
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};
我沒有得到正確的重複元素。有人能糾正我在這裏犯的錯嗎?
你忘記改變for循環? '我<11'而不是'我<10'? CS中最棘手的兩個問題:命名事件,緩存失效以及逐個錯誤。 –
不,我做了改變。 – Ajai