Numéro unique

2020-10-21
1 min de lecture
Featured Image

É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.

Avatar

Subhash Kumar

En tant qu'ingénieur logiciel senior chez ServiceNow, vous avez de l'expérience dans le développement de bout en bout d'applications et de sites Web en utilisant diverses langues et technologies.