Título:
darle un conjunto de datos enteros, estos datos, que tiene un número que sólo aparece una vez, otros números aparecieron dos veces, lo que le permite encontrar un número.
Los datos son los siguientes:
1,2,3,4,5,4,3,2,1
Uso xor la resolución de problemas:
- Cualquier número 0 y el XOR es propia.
- Cualquier número XOR con la misma son 0. (Para determinar si para repetir)
- XOR conmutativa y asociativa de apoyo
Ideas de resolución de problemas:
1^2^3^4^5^4^3^2^1 = (1^1)^(2^2)^(3^3)^(4^4)^5 = 0^0^0^0^5 = 5
código:
public int findNum(int[] array){
int tmp = 0;
for(int num : array){
tmp = tmp^num;
}
return tmp;
}
La complejidad de tiempo es O (n), la complejidad espacial es O (1)