Numéro unique
Énoncé du problème
Étant donné un tableau non vide d’entiers nums, chaque élément apparaît deux fois sauf un. Trouvez ce seul.
Exemples
Entrée : nums = [2,2,1] Sortie : 1
Entrée : nums = [4,1,2,1,2] Sortie : 4
Entrée : nums = [1] Sortie : 1
Contraintes:
- 1 <= nums.longueur <= 3 * 104
- -3 * 104 <= nombres[i] <= 3 * 104
- La complexité temporelle doit être O(n) et la complexité spatiale doit être O(1).
Approcher
Comme indiqué dans la question, tous les éléments apparaîtront deux fois dans le tableau, sauf un.
Ici, nous pouvons utiliser XOR des éléments comme A^A=0
tout en traversant le tableau entraînerait la réponse.
## Code
public int singleNumber(int[] nums) {
nombre entier =0 ;
for(int i : nombres)
nombre ^= je;
numéro de retour ;
}
Complexités
Complexité temporelle : O(n) comme ne visitant tous les éléments qu’une seule fois.
Complexité de l’espace : O(1) comme ne prenant qu’une variable pour stocker le xor de tous les éléments du tableau.