#Entretien-Technique
100 articles avec ce tag.
Algorithmes & Structures de données
3Sum
Trouve tous les triplets UNIQUES (i≠j≠k) dont la somme vaut zéro. Ex : [-1,0,1,2,-1,-4] → [[-1,-1,2],[-1,0,1]]. Le défi principal : éviter les doublons proprement.
Moyen
·
2 min
Algorithmes & Structures de données
Add Two Numbers
Deux nombres sont stockés en listes chaînées INVERSÉES (chiffre des unités en tête). Additionne-les et renvoie la somme sous la même forme. Ex : (2→4→3) + (5→6→4) = 342 + 465 = 807 → (7→0→8).
Moyen
·
2 min
Algorithmes & Structures de données
Alien Dictionary
Des mots sont donnés triés selon un alphabet extraterrestre inconnu. Déduis UN ordre valide des lettres de cet alphabet ("" si les mots sont contradictoires). Le hard de tri topologique par excellence.
Difficile
·
3 min
Algorithmes & Structures de données
Balanced Binary Tree
Un arbre est « équilibré en hauteur » si, pour CHAQUE nœud, les hauteurs de ses deux sous-arbres diffèrent d'au plus 1. Vérifie cette propriété.
Facile
·
2 min
Algorithmes & Structures de données
Basic Calculator
Évalue une expression arithmétique donnée en chaîne : entiers, +, -, parenthèses imbriquées et espaces (sans eval() bien sûr). Ex : "(1+(4+5+2)-3)+(6+8)" → 23.
Difficile
·
2 min
Algorithmes & Structures de données
Best Time to Buy and Sell Stock
prices[i] est le prix d'une action le jour i. Tu dois acheter UN jour puis vendre UN jour plus tard. Renvoie le profit maximum possible (0 si aucun profit n'est possible).
Facile
·
2 min
Algorithmes & Structures de données
Binary Search
Dans un tableau TRIÉ d'entiers, trouve l'indice de target, ou renvoie -1 s'il est absent. Contrainte implicite : le faire en O(log N), pas en balayant tout le tableau.
Facile
·
2 min
Algorithmes & Structures de données
Binary Tree Level Order Traversal
Renvoie les valeurs d'un arbre binaire niveau par niveau, de haut en bas, chaque niveau dans sa propre liste. Ex : [3,9,20,null,null,15,7] → [[3],[9,20],[15,7]].
Moyen
·
2 min
Algorithmes & Structures de données
Binary Tree Maximum Path Sum
Trouve la somme maximale d'un CHEMIN dans un arbre binaire (suite de nœuds connectés, chaque nœud au plus une fois, pas besoin de passer par la racine, valeurs possiblement négatives).
Difficile
·
2 min
Algorithmes & Structures de données
Burst Balloons
Des ballons portent des nombres. Éclater le ballon i rapporte nums[gauche] × nums[i] × nums[droite] (les voisins ACTUELS). Maximise le total. Ex : [3,1,5,8] → 167. Considéré comme l'un des DP les plus difficiles du catalogue.
Difficile
·
2 min
Algorithmes & Structures de données
Climbing Stairs
Tu montes un escalier de N marches. À chaque pas tu montes 1 ou 2 marches. Combien de façons distinctes d'atteindre le sommet ? Ex : N=3 → 3 façons (1+1+1, 1+2, 2+1).
Facile
·
2 min
Algorithmes & Structures de données
Clone Graph
Clone en profondeur un graphe non orienté connexe : chaque nœud a une valeur et une liste de voisins. Renvoie la copie du nœud donné.
Moyen
·
2 min
Algorithmes & Structures de données
Coin Change
Avec des pièces de valeurs données (quantité illimitée), quel est le NOMBRE MINIMAL de pièces pour atteindre exactement un montant ? (-1 si impossible). Ex : coins=[1,2,5], amount=11 → 3 (5+5+1).
Moyen
·
2 min
Algorithmes & Structures de données
Combination Sum
Avec des candidats distincts et une cible, trouve toutes les combinaisons UNIQUES dont la somme vaut la cible — chaque candidat est réutilisable à volonté. Ex : [2,3,6,7], target=7 → [[2,2,3],[7]].
Moyen
·
2 min
Algorithmes & Structures de données
Construct Binary Tree from Preorder and Inorder
Reconstruis l'arbre binaire unique à partir de ses parcours preorder et inorder (valeurs distinctes). Ex : preorder=[3,9,20,15,7], inorder=[9,3,15,20,7].
Moyen
·
2 min
Algorithmes & Structures de données
Container With Most Water
height[i] est la hauteur d'une paroi verticale en position i. Deux parois + l'axe des x forment un bac : trouve la paire qui contient le plus d'eau. Aire = min(h1, h2) × distance.
Moyen
·
2 min
Algorithmes & Structures de données
Contains Duplicate
Renvoie true si au moins une valeur apparaît deux fois dans le tableau, false si tous les éléments sont distincts.
Facile
·
2 min
Algorithmes & Structures de données
Course Schedule
N cours, avec des prérequis [a, b] signifiant « b avant a ». Peut-on suivre TOUS les cours ? (Impossible si les prérequis forment un cycle.)
Moyen
·
2 min
Algorithmes & Structures de données
Daily Temperatures
Pour chaque jour, combien de jours faut-il attendre avant une température PLUS CHAUDE ? (0 si jamais). Ex : [73,74,75,71,69,72,76,73] → [1,1,4,2,1,1,0,0].
Moyen
·
2 min
Algorithmes & Structures de données
Diameter of Binary Tree
Le diamètre d'un arbre est la longueur (en ARÊTES) du plus long chemin entre deux nœuds quelconques — ce chemin ne passe pas forcément par la racine.
Facile
·
2 min
Algorithmes & Structures de données
Edit Distance
Nombre MINIMAL d'opérations (insérer, supprimer, remplacer un caractère) pour transformer word1 en word2. Ex : "horse" → "ros" = 3. La distance de Levenshtein, au cœur des correcteurs orthographiques.
Difficile
·
2 min
Algorithmes & Structures de données
Find Median from Data Stream
Conçois une structure qui reçoit des nombres en continu : addNum(num) insère, findMedian() renvoie la médiane de tous les nombres vus. Les deux opérations doivent rester rapides malgré le flux.
Difficile
·
2 min
Algorithmes & Structures de données
Find Minimum in Rotated Sorted Array
Même tableau trié-tourné que le Search in Rotated Sorted Array, éléments uniques : trouve la valeur MINIMALE en O(log N). Ex : [4,5,6,7,0,1,2] → 0.
Moyen
·
2 min
Algorithmes & Structures de données
First Bad Version
Les versions 1..N d'un produit se suivent ; à partir d'une certaine version, toutes sont « mauvaises ». Une API isBadVersion(v) te répond. Trouve la PREMIÈRE mauvaise version en minimisant les appels à l'API.
Facile
·
2 min
Algorithmes & Structures de données
First Missing Positive
Trouve le plus petit entier POSITIF (≥ 1) absent d'un tableau non trié — en O(N) temps et O(1) espace supplémentaire. Ces contraintes interdisent le tri ET le HashSet.
Difficile
·
2 min
Algorithmes & Structures de données
Flood Fill
Une image est une grille d'entiers (couleurs). À partir du pixel (sr, sc), applique le « pot de peinture » : remplace sa couleur et celle de tous ses voisins connectés (haut/bas/gauche/droite) de la même couleur d'origine par une nouvelle couleur.
Facile
·
2 min
Algorithmes & Structures de données
Group Anagrams
Regroupe les mots d'un tableau par familles d'anagrammes. Ex : ["eat","tea","tan","ate","nat","bat"] → [["eat","tea","ate"],["tan","nat"],["bat"]].
Moyen
·
2 min
Algorithmes & Structures de données
House Robber
Un voleur longe une rue de maisons contenant nums[i] euros, mais ne peut pas cambrioler deux maisons ADJACENTES. Quel butin maximal ?
Moyen
·
2 min
Algorithmes & Structures de données
House Robber II
Même problème, mais les maisons forment un CERCLE : la première et la dernière sont adjacentes. Butin maximal ?
Moyen
·
2 min
Algorithmes & Structures de données
Implement Queue using Stacks
Implémente une file FIFO (push, pop, peek, empty) en n'utilisant QUE des piles LIFO.
Facile
·
2 min
Algorithmes & Structures de données
Implement Trie (Prefix Tree)
Implémente un Trie (arbre de préfixes) : insert(word), search(word) (mot complet présent ?) et startsWith(prefix) (un mot commence-t-il ainsi ?).
Moyen
·
2 min
Algorithmes & Structures de données
Invert Binary Tree
Inverse un arbre binaire en miroir : pour chaque nœud, son sous-arbre gauche devient son sous-arbre droit et vice-versa. Renvoie la racine. (Le fameux problème qui a recalé le créateur de Homebrew chez Google.)
Facile
·
2 min
Algorithmes & Structures de données
Koko Eating Bananas
Koko a des tas de bananes (piles[i]) et h heures. Chaque heure, elle mange k bananes d'UN seul tas (si le tas en a moins, l'heure est quand même consommée). Trouve la vitesse k MINIMALE pour tout finir en h heures.
Moyen
·
2 min
Algorithmes & Structures de données
Kth Largest Element in a Stream
Conçois une classe qui reçoit des nombres en continu (un flux) et sait renvoyer à tout moment le K-ième plus GRAND élément vu jusqu'ici. add(val) insère et renvoie ce K-ième.
Facile
·
2 min
Algorithmes & Structures de données
Kth Largest Element in an Array
Trouve le K-ième plus GRAND élément d'un tableau non trié (pas le K-ième distinct). Ex : [3,2,1,5,6,4], k=2 → 5.
Moyen
·
2 min
Algorithmes & Structures de données
Kth Smallest Element in a BST
Renvoie le K-ième plus petit élément d'un arbre binaire de recherche (K commence à 1).
Moyen
·
2 min
Algorithmes & Structures de données
Largest Rectangle in Histogram
Un histogramme de barres de largeur 1 : trouve l'aire du plus grand RECTANGLE inscrit. Ex : [2,1,5,6,2,3] → 10 (hauteur 5 sur les barres 5 et 6).
Difficile
·
2 min
Algorithmes & Structures de données
Last Stone Weight
Des pierres ont des poids. À chaque tour, on fracasse les DEUX plus lourdes l'une contre l'autre : si elles sont égales, les deux disparaissent ; sinon il reste une pierre de poids (y - x). Renvoie le poids de la dernière pierre (ou 0).
Facile
·
2 min
Algorithmes & Structures de données
Linked List Cycle
Détermine si une liste chaînée contient un cycle (un nœud dont le next pointe vers un nœud précédent de la liste, créant une boucle infinie).
Facile
·
2 min
Algorithmes & Structures de données
Longest Common Prefix
Trouve le plus long préfixe commun à toutes les chaînes d'un tableau. Ex : ["flower","flow","flight"] → "fl". S'il n'y en a pas, renvoie "".
Facile
·
2 min
Algorithmes & Structures de données
Longest Common Subsequence
Longueur de la plus longue sous-suite commune à deux chaînes (mêmes caractères, même ordre, sauts autorisés). Ex : "abcde" et "ace" → 3. La base de git diff et des outils de comparaison.
Moyen
·
2 min
Algorithmes & Structures de données
Longest Increasing Subsequence
Trouve la longueur de la plus longue sous-suite STRICTEMENT croissante (pas forcément contiguë : on peut sauter des éléments en gardant l'ordre). Ex : [10,9,2,5,3,7,101,18] → 4 ([2,3,7,101]).
Moyen
·
2 min
Algorithmes & Structures de données
Longest Palindromic Substring
Trouve la plus longue sous-chaîne palindrome d'une chaîne. Ex : "babad" → "bab" (ou "aba").
Moyen
·
2 min
Algorithmes & Structures de données
Longest Repeating Character Replacement
Dans une chaîne de lettres majuscules, tu peux remplacer au plus k caractères. Quelle est la plus longue sous-chaîne composée d'une SEULE lettre que tu peux obtenir ? Ex : s="AABABBA", k=1 → 4.
Moyen
·
2 min
Algorithmes & Structures de données
Longest Substring Without Repeating Characters
Trouve la longueur de la plus longue SOUS-CHAÎNE (contiguë) sans caractère répété. Ex : "abcabcbb" → 3 ("abc").
Moyen
·
2 min
Algorithmes & Structures de données
Longest Valid Parentheses
Dans une chaîne de '(' et ')', trouve la longueur de la plus longue SOUS-CHAÎNE contiguë de parenthèses bien formées. Ex : ")()())" → 4 ("()()").
Difficile
·
2 min
Algorithmes & Structures de données
Lowest Common Ancestor of a BST
Dans un arbre binaire de RECHERCHE (BST), trouve le plus petit ancêtre commun (LCA) de deux nœuds p et q : le nœud le plus profond qui a p et q dans sa descendance (un nœud est son propre ancêtre).
Facile
·
2 min
Algorithmes & Structures de données
LRU Cache
Conçois un cache à capacité fixe avec get(key) et put(key, value) en O(1). Quand le cache est plein, évince l'élément utilisé le moins récemment (Least Recently Used). LE problème de design le plus posé en entretien.
Moyen
·
3 min
Algorithmes & Structures de données
Majority Element
Trouve l'élément qui apparaît PLUS de N/2 fois dans le tableau (il existe toujours). Ex : [2,2,1,1,1,2,2] → 2.
Facile
·
2 min
Algorithmes & Structures de données
Maximum Depth of Binary Tree
Renvoie la profondeur maximale d'un arbre binaire : le nombre de nœuds sur le plus long chemin de la racine jusqu'à une feuille. Un arbre vide a une profondeur de 0.
Facile
·
2 min
Algorithmes & Structures de données
Maximum Subarray (Kadane)
Trouve le sous-tableau CONTIGU dont la somme est maximale, et renvoie cette somme. Ex : [-2,1,-3,4,-1,2,1,-5,4] → 6 (le sous-tableau [4,-1,2,1]).
Moyen
·
2 min
Algorithmes & Structures de données
Median of Two Sorted Arrays
Deux tableaux triés de tailles m et n : trouve la MÉDIANE de leur union en O(log(min(m,n))) — la complexité imposée interdit la fusion. Réputé le hard « mathématique » par excellence.
Difficile
·
3 min
Algorithmes & Structures de données
Meeting Rooms
On te donne des réunions sous forme d'intervalles [début, fin]. Une seule personne peut-elle assister à TOUTES les réunions (aucun chevauchement) ?
Facile
·
2 min
Algorithmes & Structures de données
Merge Intervals
Fusionne tous les intervalles qui se chevauchent. Ex : [[1,3],[2,6],[8,10],[15,18]] → [[1,6],[8,10],[15,18]].
Moyen
·
2 min
Algorithmes & Structures de données
Merge K Sorted Lists
Fusionne K listes chaînées triées en une seule liste triée. La généralisation directe de Merge Two Sorted Lists (Merge Two Sorted Lists).
Difficile
·
2 min
Algorithmes & Structures de données
Merge Sorted Array
nums1 (taille m+n, avec n zéros de remplissage à la fin) et nums2 (taille n) sont triés. Fusionne nums2 DANS nums1, en place, pour que nums1 soit trié.
Facile
·
2 min
Algorithmes & Structures de données
Merge Two Sorted Lists
On te donne les têtes de deux listes chaînées TRIÉES. Fusionne-les en une seule liste triée en réutilisant les nœuds existants, et renvoie la tête de la nouvelle liste.
Facile
·
2 min
Algorithmes & Structures de données
Middle of the Linked List
Renvoie le nœud du MILIEU d'une liste chaînée. Si la liste a un nombre pair de nœuds, renvoie le second des deux nœuds du milieu.
Facile
·
2 min
Algorithmes & Structures de données
Min Stack
Conçois une pile qui supporte push, pop, top, ET getMin (le minimum de la pile) — chaque opération en O(1) constant.
Facile
·
2 min
Algorithmes & Structures de données
Minimum Window Substring
Trouve la plus PETITE sous-chaîne de s qui contient tous les caractères de t (avec leurs multiplicités). Ex : s="ADOBECODEBANC", t="ABC" → "BANC". Le boss final des fenêtres glissantes.
Difficile
·
2 min
Algorithmes & Structures de données
Missing Number
Un tableau contient N nombres distincts pris dans l'intervalle [0, N]. Un seul nombre de l'intervalle manque : trouve-le. Ex : [3,0,1] → 2.
Facile
·
2 min
Algorithmes & Structures de données
Move Zeroes
Déplace tous les zéros d'un tableau à la fin, en conservant l'ordre relatif des éléments non nuls, EN PLACE et sans copie du tableau. Ex : [0,1,0,3,12] → [1,3,12,0,0].
Facile
·
2 min
Algorithmes & Structures de données
N-Queens
Place N reines sur un échiquier N×N sans qu'aucune n'en menace une autre (ligne, colonne, diagonales). Renvoie TOUTES les configurations valides. Le grand classique historique du backtracking.
Difficile
·
2 min
Algorithmes & Structures de données
Number of Islands
Une grille contient '1' (terre) et '0' (eau). Compte les îles : groupes de terres connectées horizontalement ou verticalement. LE problème de graphe le plus posé chez Amazon.
Moyen
·
2 min
Algorithmes & Structures de données
Pacific Atlantic Water Flow
Une grille d'altitudes est bordée par le Pacifique (haut/gauche) et l'Atlantique (bas/droite). L'eau coule vers une case d'altitude inférieure ou égale. Trouve toutes les cases d'où l'eau peut atteindre LES DEUX océans.
Moyen
·
3 min
Algorithmes & Structures de données
Palindrome Number
Un entier est-il un palindrome (se lit pareil dans les deux sens) SANS le convertir en chaîne ? Ex : 121 → vrai, -121 → faux (le signe casse la symétrie).
Facile
·
2 min
Algorithmes & Structures de données
Permutation in String
La chaîne s2 contient-elle une PERMUTATION de s1 comme sous-chaîne contiguë ? Ex : s1="ab", s2="eidbaooo" → vrai ("ba").
Moyen
·
2 min
Algorithmes & Structures de données
Permutations
Génère toutes les permutations d'un tableau d'éléments distincts. Ex : [1,2,3] → 6 permutations.
Moyen
·
2 min
Algorithmes & Structures de données
Plus One
Un grand entier est représenté par un tableau de chiffres (chiffre de poids fort en premier). Ajoute 1 et renvoie le tableau résultat. Ex : [1,2,9] → [1,3,0], [9,9] → [1,0,0].
Facile
·
2 min
Algorithmes & Structures de données
Product of Array Except Self
Renvoie un tableau où result[i] est le produit de TOUS les éléments SAUF nums[i] — sans utiliser la division, en O(N).
Moyen
·
2 min
Algorithmes & Structures de données
Ransom Note
Peux-tu écrire le mot ransomNote en découpant des lettres du texte magazine ? Chaque lettre du magazine ne peut servir qu'une fois. Renvoie true/false.
Facile
·
2 min
Algorithmes & Structures de données
Regular Expression Matching
Implémente un matching de regex complet entre s et un pattern p supportant '.' (n'importe quel caractère) et '*' (zéro ou plusieurs occurrences du caractère PRÉCÉDENT). Le match doit couvrir toute la chaîne.
Difficile
·
3 min
Algorithmes & Structures de données
Remove Duplicates from Sorted Array
Un tableau est trié : supprime les doublons EN PLACE pour que chaque valeur n'apparaisse qu'une fois, et renvoie k, le nombre d'éléments uniques (les k premières cases doivent contenir le résultat).
Facile
·
2 min
Algorithmes & Structures de données
Remove Nth Node From End of List
Supprime le N-ième nœud EN PARTANT DE LA FIN d'une liste chaînée, en une seule passe, et renvoie la tête.
Moyen
·
2 min
Algorithmes & Structures de données
Reorder List
Réordonne une liste L0→L1→...→Ln en L0→Ln→L1→Ln-1→L2→... en place, sans modifier les valeurs (uniquement les pointeurs).
Moyen
·
2 min
Algorithmes & Structures de données
Reverse Linked List
Inverse une liste chaînée simple et renvoie la nouvelle tête. Ex : 1→2→3→4 devient 4→3→2→1. Le problème de liste chaînée le plus posé en entretien, tous niveaux confondus.
Facile
·
2 min
Algorithmes & Structures de données
Reverse Nodes in k-Group
Inverse une liste chaînée par blocs de k nœuds : 1→2→3→4→5 avec k=2 devient 2→1→4→3→5. Un groupe incomplet en fin de liste reste tel quel. Le test ultime de manipulation de pointeurs.
Difficile
·
2 min
Algorithmes & Structures de données
Roman to Integer
Convertis un nombre romain (I, V, X, L, C, D, M) en entier. Subtilité : IV = 4 et IX = 9 — un symbole plus petit AVANT un plus grand se soustrait.
Facile
·
2 min
Algorithmes & Structures de données
Rotting Oranges
Grille : 0 = vide, 1 = orange fraîche, 2 = orange pourrie. Chaque minute, toute fraîche adjacente à une pourrie pourrit. Combien de minutes pour tout pourrir ? (-1 si impossible).
Moyen
·
2 min
Algorithmes & Structures de données
Same Tree
Deux arbres binaires sont-ils identiques : même structure ET mêmes valeurs à chaque position ?
Facile
·
2 min
Algorithmes & Structures de données
Search in Rotated Sorted Array
Un tableau trié a été « tourné » à un pivot inconnu (ex : [4,5,6,7,0,1,2]). Trouve l'indice de target en O(log N).
Moyen
·
2 min
Algorithmes & Structures de données
Serialize and Deserialize Binary Tree
Conçois serialize(root) qui transforme un arbre binaire en chaîne, et deserialize(data) qui reconstruit l'arbre EXACT depuis cette chaîne. Le format est libre : seul l'aller-retour compte.
Difficile
·
2 min
Algorithmes & Structures de données
Single Number
Chaque élément du tableau apparaît exactement deux fois, sauf UN qui apparaît une seule fois. Trouve-le en temps linéaire et SANS mémoire supplémentaire.
Facile
·
2 min
Algorithmes & Structures de données
Sliding Window Maximum
Une fenêtre de taille k glisse sur un tableau : renvoie le MAXIMUM de chaque position de la fenêtre. Ex : nums=[1,3,-1,-3,5,3,6,7], k=3 → [3,3,5,5,6,7]. Contrainte : O(N).
Difficile
·
2 min
Algorithmes & Structures de données
Sqrt(x)
Calcule la racine carrée ENTIÈRE de x (partie entière, arrondi vers le bas), sans utiliser Math.sqrt(). Ex : sqrt(8) → 2.
Facile
·
2 min
Algorithmes & Structures de données
Squares of a Sorted Array
Un tableau trié peut contenir des négatifs. Renvoie le tableau des CARRÉS, trié croissant, en O(N). Ex : [-4,-1,0,3,10] → [0,1,9,16,100].
Facile
·
2 min
Algorithmes & Structures de données
Subsets
Génère TOUS les sous-ensembles possibles d'un tableau d'éléments distincts (le « power set »). Ex : [1,2,3] → [[],[1],[2],[3],[1,2],[1,3],[2,3],[1,2,3]].
Moyen
·
2 min
Algorithmes & Structures de données
Subtree of Another Tree
L'arbre subRoot apparaît-il quelque part comme sous-arbre COMPLET de l'arbre root (même structure, mêmes valeurs, jusqu'aux feuilles) ?
Facile
·
2 min
Algorithmes & Structures de données
Symmetric Tree
Un arbre binaire est-il symétrique, c'est-à-dire son propre miroir autour de son axe central ?
Facile
·
2 min
Algorithmes & Structures de données
Top K Frequent Elements
Renvoie les K éléments les plus fréquents d'un tableau. Ex : nums=[1,1,1,2,2,3], k=2 → [1,2]. Contrainte suggérée : mieux que O(N log N).
Moyen
·
2 min
Algorithmes & Structures de données
Trapping Rain Water
height[i] est la hauteur d'un mur. Après la pluie, combien d'unités d'eau restent piégées entre les murs ? Ex : [0,1,0,2,1,0,1,3,2,1,2,1] → 6. Un très grand classique difficile.
Difficile
·
2 min
Algorithmes & Structures de données
Two Sum
On te donne un tableau d'entiers nums et une cible target. Trouve les indices de DEUX nombres dont la somme vaut exactement target. Il y a toujours exactement une solution, et tu ne peux pas utiliser deux fois le même élément.
Facile
·
2 min
Algorithmes & Structures de données
Valid Anagram
Deux chaînes s et t sont des anagrammes si t est un réarrangement exact des lettres de s (mêmes lettres, mêmes quantités). Ex : "listen" et "silent" → vrai.
Facile
·
2 min
Algorithmes & Structures de données
Valid Palindrome
Une phrase est un palindrome si, après avoir retiré tout ce qui n'est pas alphanumérique et ignoré la casse, elle se lit pareil dans les deux sens. Ex : "A man, a plan, a canal: Panama" → vrai.
Facile
·
2 min
Algorithmes & Structures de données
Valid Parentheses
Une chaîne ne contient que les caractères ( ) { } [ ]. Dis si elle est « valide » : chaque parenthèse ouvrante doit être fermée par le même type, dans le bon ordre. Ex : "()[]{}" est valide, "(]" ne l'est pas.
Facile
·
2 min
Algorithmes & Structures de données
Validate Binary Search Tree
Vérifie qu'un arbre binaire est un BST valide : pour CHAQUE nœud, tout son sous-arbre gauche est strictement inférieur, tout son sous-arbre droit strictement supérieur.
Moyen
·
2 min
Algorithmes & Structures de données
Word Break
Une chaîne s peut-elle être découpée en une suite de mots appartenant tous à un dictionnaire (mots réutilisables) ? Ex : s="leetcode", dict=["leet","code"] → vrai.
Moyen
·
2 min
Algorithmes & Structures de données
Word Ladder
Transforme beginWord en endWord en changeant UNE lettre à la fois, chaque mot intermédiaire devant appartenir au dictionnaire. Renvoie la longueur de la plus courte chaîne de transformation (0 si impossible).
Difficile
·
2 min
Algorithmes & Structures de données
Word Search
Un mot existe-t-il dans une grille de lettres, en enchaînant des cases ADJACENTES (haut/bas/gauche/droite), sans réutiliser une case ?
Moyen
·
2 min
Algorithmes & Structures de données
Word Search II
Trouve TOUS les mots d'une liste présents dans une grille de lettres (règles du Word Search). Lancer Word Search une fois par mot serait beaucoup trop lent : il faut chercher tous les mots EN MÊME TEMPS.
Difficile
·
3 min