💻7 Parcours Officiels

Informatique

Informatique : cours, formules clés, exercices corrigés étape par étape et tuteur socratique IA 24h/24 (Secondaire, CÉGEP et Université).

Secondaire & Lycée

CÉGEP & Collégial

Université (Baccalauréat)

Fiche d’Examen (1 Page) : Pattern Hash Map O(n²) → O(n)

Supprimez les boucles imbriquées en stockant les éléments vus dans une Hash Map pour vérifier (target - actuel) en O(1).

  • 1. Initialisez : seen = new Map()
  • 2. Une seule boucle : complement = target - nums[i] ; si seen.has(complement) retournez les indices
  • 3. Stockez APRÈS vérification : seen.set(nums[i], i) → temps O(n)

Pourquoi vérifier seen.has() AVANT seen.set() ?

Pour éviter qu’un élément ne s’additionne avec lui-même quand target = 2 × nums[i].

Quand une Hash Map passe-t-elle de O(1) à O(n) ?

En cas de collisions multiples dans le même compartiment.

Et si le tableau est DÉJÀ trié avec contrainte mémoire O(1) ?

Utilisez deux pointeurs (gauche = 0, droite = n - 1).