Manipulation de listes chaînées : suppression d'éléments, conception et inversion
Ce jour marque la troisième journée d'exercices axés sur les structures de données de listes chaînées. Nous allons aborder trois problèmes classiques : la suppression d'éléments spécifiques, la conception d'une classe de liste chaînée et l'inversion d'une liste chaînée.
Suppression d'éléments d'une liste chaînée
Le premier problème consiste à s ...
Publié le 24 juin à 02h05
Algorithme de remplissage des régions encerclées dans une matrice bidimensionnelle
Le problème des régions encerclées consiste à modifier une matrice bidimensionnelle composée des caractères 'X' et 'O'. L'objectif est d'identifier tous les groupes de 'O' qui sont complètement entourés par des 'X' et de les remplacer par des 'X'. Une règle fondamentale s'aplique : les 'O' situés sur les bords de la matrice, ou connectés à un ' ...
Publié le 23 juin à 01h38
Problème de Matrice avec Contraintes de Divisibilité
L'énoncé du problème stipule que pour une matrice a[i][j], les conditions suivantes doivent être satisfaites : a[i][j] % a[i-1][j] == 0 && a[i][j] % a[i][j-1] == 0. Une solution possible utilise un parcours en profondeur d'abord (DFS).
#include<bits/stdc++.h>
using namespace std;
#define Pour(i,a,b) for(int i = a; i <= b; i++)
...
Publié le 22 juin à 00h26
Maximisation des points par la technique de la fenêtre glissante
Énoncé du problème
Vous disposez d'un tableau d'entiers cardPoints représentant les points de chaque carte disposées en ligne. À chaque étape, vous pouvez prendre une carte soit au début, soit à la fin de la ligne. Vous devez prendre exactement k cartes au total.
Votre score final correspond à la somme des points de toutes les cartes que vous a ...
Publié le 19 juin à 06h31
Recueil de concours de simulation ZR 2025
Épreuves de qualification NOIP - 10 sessions d'entraînement
Jour 1
Problème 1
Énoncé :
Étant donné \(n\) nombres \(a_1,a_2,a_3 \dots a_n\), vous pouvez en sélectionner certains. Combien de façons permettent d'obtenir une moyenne égale à \(A\) pour les nombres sélectionnés ?
Solution
D'après la formule de la moyenne : (sélection de \(m\) nombres ...
Publié le 12 juin à 16h45
Implémentation interne de Redis GEO : analyse du code source
Redis offre des fonctionnalités géospatiales via les commandes GEO, permettant d'ajouter, de rechercher et de calculer des distances entre des lieux. Cet article explore l'implémentation interne de ces commandes en s'appuyant sur une analyse du code source.
1. Fonctionnement des commandes GEO
Les commandes GEO de Redis, telles que GEOADD, GEODI ...
Publié le 11 juin à 20h56
Trouver le Nombre Unique dans un Tableau d'Entiers
Dans ce problème, nous avons un tableau d'entiers où tous les éléments appaarissent exactemant deux fois, excepté un seul qui n'apparaît qu'une fois. L'objectif est d'identifier ce nombre unique efficacement.
Exigences :
La solution doit avoir une complexité temporelle de O(n).
L'utilisation d'espace mémoire supplémentaire doit être minimisée. ...
Publié le 9 juin à 22h02
Exercices sur la recherche binaire et leurs solutions en C
L'algorithme de recherche binaire standard peut retourner n'importe lequel des éléments correspondants lorsque plusieurs occurrences existent. Pour garantir le retour de la première occurence, une modification est nécessaire. En utilisant le tableau défini par int donnees[8] = { 1, 2, 2, 2, 5, 6, 8, 9 };, l'implémentation suivante ajuste la log ...
Publié le 8 juin à 06h41
Structures de données : Introduction aux arbres et aux arbres binaires
Arbres
1.1 Concepts et Structure des Arbres
Un arbre est une structure de données non linéaire composée de N (N ≥ 0) nœuds finis formant une hiérarchie. Sa structure rappelle celle d'un arbre inversé, avec la racine en haut et les feuilles en bas.
Il existe un nœud spécial appelé racine, qui n'a pas de nœud parent.
Tous les autres nœuds sont d ...
Publié le 5 juin à 01h07
Division de chaînes avec conversion de casse
Description du problème
Étant donné une chaîne non vide S, divisée en N+1 sous-chaînes par N tirets '-', et un entier positif K. On demande de reformer les sous-chaînes en groupent les caractères par paquets de K à partir de la deuxième sous-chaîne, séparés par des tirets.
Pour chaque nouvelle sous-chaîne ainsi formée, si elle contient plus de ...
Publié le 4 juin à 22h28