Mi è stata assegnata una lista di n numeri interi e questi numeri interi sono compresi nell'intervallo tra 1 e n. Non ci sono duplicati nell'elenco. Ma manca uno degli interi nell'elenco. Devo trovare il numero intero mancante.Trovare il numero mancante nella sequenza
Example: If n=8
I/P [7,2,6,5,3,1,8]
O/P 4
I am using a simple concept to find the missing number which is to get the
sum of numbers
total = n*(n+1)/2
And then Subtract all the numbers from sum.
Ma il metodo sopra non funzionerà se la somma dei numeri supera il massimo consentito.
così ho cercato per una seconda soluzione e ho trovato un metodo come segue:?
1) XOR all the elements present in arr[], let the result of XOR be R1.
2) XOR all numbers from 1 to n, let XOR be R2.
3) XOR of R1 and R2 gives the missing number.
come è questo metodo di lavoro .. Come è lo XOR di R1 e R2 trova il numero intero mancante nel caso di cui sopra ?
Che ne dici di un bruto che lo costringe? Ordina la matrice, controlla la coppia di indici per cui '[n - (n-1)]' non è uguale a 1. – Renan
Perché esiste un numero intero massimo consentito? – VoronoiPotato
@VoronoiPotato: Cosa succede se ci sono 1 miliardo di numeri nella sequenza e lui è limitato a numeri interi a 32 bit? –