πPrêtTech← Toutes les fiches
Algorithmique · PATTERNS

5 patterns qui couvrent 80 % des exercices

La plupart des exercices d'entretien sont des variations de quelques patterns. Savoir les reconnaître te fait gagner les cinq premières minutes.

À retenir
  • Two pointers : tableau trié, paires, palindromes.
  • Sliding window : sous-tableau ou sous-chaîne contigus.
  • Hash map : fréquences, doublons, complément.
  • Backtracking : combinaisons, permutations, sudoku.
  • BFS / DFS : graphes, grilles, arbres.

Reconnaître le déclencheur

« Tableau trié » → two pointers. « Sous-tableau contigu de taille k » → sliding window. « Toutes les combinaisons » → backtracking. « Plus court chemin » → BFS.

Sliding window en 6 lignes

On étend la fenêtre à droite, on la rétrécit à gauche tant que la contrainte est violée.

let g = 0, best = 0; const vus = new Set();
for (let d = 0; d < s.length; d++) {
  while (vus.has(s[d])) vus.delete(s[g++]);
  vus.add(s[d]);
  best = Math.max(best, d - g + 1);
}

Annoncer le pattern à voix haute

Dire « ça ressemble à un sliding window » rassure immédiatement le recruteur, même si tu ajustes ensuite ton approche.

Pièges fréquents

  • Se lancer dans le code avant d'avoir identifié le pattern.
  • Confondre sous-suite et sous-tableau contigu.
  • Oublier de gérer la fenêtre vide ou le tableau vide.

Questions que le recruteur peut poser

  • Quel pattern reconnais-tu ici ?
  • Comment adapterais-tu la solution si le tableau n'était pas trié ?
  • Quels sont les cas limites ?