Algorithmes du camps d'entraînement CodeSyllabus Jour 10 | 232. File à l'aide de piles 225. Pile à l'aide de files 20. Parenthèses valides 1047. Suppression des paires adjacentes

Syntaxe Python : Python ne supporte pas nativement les piles, on utilise généralement une liste pour simuler une pile. Les opérations courantes sont : append(), pop(). Cliquez pour voir le code``` pile = [] Empiler (push) pile.append(1) Décacher (pop) element_superieur = pile.pop() Accéder à l'élément supérieur (peek) element_superieur = pile ...

Publié le 6 octobre à 23h30

Compter les sous-séquences de caractères entre deux chaînes

Étant donné deux chaînes de caractères source et cible, le défi consiste à déterminer combien de caractères de la chaîne cible peuvent être trouvés dans le même ordre au sein de la chaîne source. En d'autres termes, il faut identifier si la chaîne cible constitue une sous-séquence de source et compter le nombre de correspondances trouvées. Les ...

Publié le 30 septembre à 06h30

Comptage des chiffres 1 dans les nombres entiers

Problème à résoudre Déterminer le nombre de fois que le chiffre 1 apparaît entre 1 et un nombre donné n, puis entre 100 et 1300. Par exemple, entre 1 et 13, il y a 6 occurrences du chiffre 1 (1, 10, 11, 12, 13). Pour les valeurs plus grandes, il faut une méthode efficace pour compter rapidement le nombre d'occurrences du chiffre 1. Calculer fun ...

Publié le 30 septembre à 06h20

Implémentation d'un Tampon Circulaire Inspiré du kfifo du Noyau Linux

Cet article explore la conception et l'implémentation d'un tampon circulaire, en s'inspirant fortement de la structure kfifo du noyau Linux. L'objectif est de créer un mécanisme de stockage de données efficace et performant, particulièrement utile dans les scénarios de communication inter-processus ou de gestion de flux de données. Puissances ...

Publié le 26 août à 19h13

Évaluation de la rentabilité maximale pour un cambrioleur

Vous incarnez un cambrioleur expérimenté qui planifie une série de vols dans des maisons situées le long d'une rue. Chaque maison recèle une certaine quantité d'argent. La seule restriction est que les systèmes de sécurité des maisons adjacentes sont interconnectés, déclenchant une alerte de police si deux maisons contiguës sont cambriolées la ...

Publié le 31 juillet à 15h46

L'Automate d'Aho-Corasick : Principes et Implémentation en C++

L'automate d'Aho-Corasick est un algorithme puissant de recherche de motifs multiples, permettant de localiser toutes les occurrences d'un ensemble de mots-clés (motifs) à l'intérieur d'un texte donné. Il combine les concepts d'un arbre de préfixes (Trie) et de la fonction d'échec de l'algorithme de Knuth-Morris-Pratt (KMP) pour réaliser une re ...

Publié le 25 juillet à 15h24

Vérification des numéros d'identité nationale en Java

Un numéro d'identité nationale valide se compose de 17 chiffres (représentant la région, la date de naissance et le numéro séquentiel) suivis d'un caractère de contrôle. Le calcul du code de contrôle suit les étapes suivantes : On effectue d'abord une somme pondérée des 17 premiers chiffres avec les poids {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 1 ...

Publié le 20 juillet à 13h15

Recherche de mot dans une grille via DFS : marquage et restauration

Cet article explore l'algorithme de recherche de mots dans une grille bidimensionnelle en utilisant une approche de parcours en profondeur (DFS). L'accent est mis sur la nécessité d'un mécanisme de marquage des cellules visitées et de restauration de ces marques (backtracking) pour garantir l'exactitude des résultats. Problématique Étant donné ...

Publié le 20 juillet à 03h14

La Tour de Hanoï : Une Introduction Récursive

Le nombre total de mouvements requis pour déplacer 64 disques est de 264 - 1. Ce nombre est astronmoique (environ 18 trillions de trillions). Si un prêtre pouvait déplacer un disque par seconde, sans pause, il faudrait environ 595 milliards d'années pour accomplir la tâche, dépassant de loin l'âge actuel de l'univers. Règles du Jeu Un seul dis ...

Publié le 14 juillet à 20h15

Solutions algorithmiques en Java pour les problèmes d'îles sur grille

Problème 1 : Superficie maximale d'une île Énoncé : Étant donné une grille composée de 1 (terre) et 0 (eau), calculer la superficie maximale des îles. La superficie est le nombre total de cellules terrestres connectées horizontalement ou verticalement. Exemple d'entrée : 4 5 1 1 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 1 1 Sortei attendue : 4 Approche ...

Publié le 11 juillet à 18h31