Requêtes SQL (groupement)
Les fonctions de regroupement
Ordre général : SELECT FROM JOIN ON (WHERE) GROUP BY HAVING ORDER BY
GROUP BY
SELECT * FROM etudiants;
GROUP BY genre // Regroupement par sexe
COUNT() pour compter
SELECT genre, COUNT(genre) FROM etudiants GROUP BY genre;
Regroupement par âge et comptage
SELECT age, COUNT(*) FROM etudiants GROUP BY age;
(* repré ...
Publié le 17 septembre à 10h23
Applications pratiques de l'inversion et de la fusion de listes chaînées en Python
Utilité concrète des opérations sur listes chaînées
Les algorithmes d'inversion et de fusion de listes chaînées ne sont pas seulement des exercices académiques. Ils servent de briques fondamentales dans plusieurs domaines du développement logiciel, notamment pour le traitement de données séquentielles, les algorithmes de tri externes ou encore ...
Publié le 9 septembre à 16h11
Résoudre efficacement 4Sum II, Ransom Note, 3Sum et 4Sum avec Python
Somme de quatre éléments II
L'objectif est de compter combien de quadruplets (i, j, k, l) vérifient nums1[i] + nums2[j] + nums3[k] + nums4[l] == 0. Une approche naïve en O(n⁴) est inacceptable. On peut regrouper les listes deux à deux pour réduire la copmlexité.
En combinant les deux premières listes, on calcule toutes les sommes possibles e ...
Publié le 29 août à 09h21
Tri des listes dans ASP.NET Core Blazor
Dans cet article, nous allons apprendre à ajouter une fonctionnalité de tri dans une liste d'éléments dans une application Blazor.
Supposons que vous ayez déjà développé un système simple de gestion de bibliothèque avec Blazor. Nous allons ajouter une fonctionnalité de tri sur la page de liste des livres.
Fonction de tri
Ouvrez Visual Studio 2 ...
Publié le 25 août à 21h14
Maximisation du Minimum de Paires par Recherche Dichotomique en C++
Analyse du Problème
Le problème consiste à apparier les éléments de deux ensembles distincts (par exemple, les scores d'extraversion de deux groupes d'employés) de manière à maximiser la valeur minimale parmi toutes les sommes de paires formées. Pour résoudre ce défi d'optimisation, il est nécessaire d'explorer différentes stratégies algorithmi ...
Publié le 11 août à 17h14
Équilibrer une Balance avec des Contraintes Séquentielles
Vous disposez de N masses, chacune ayant un poids unique A_1, A_2, ..., A_N. Votre tâche consiste à placer chaque masse sur un plateau d'une balance (gauche ou droite) dans un ordre spécifique. Une chaîne de caractères S de longueur N indique la condition d'équilibre à respecter après le placement de la i-ème masse : 'L' signifie que le plateau ...
Publié le 31 juillet à 00h58
Techniques d'optimisation et d'algorithmes courants
Ce document présente une exploration de plusieurs techniques algorithmiques et problèmes résolus, incluant des stratégies gloutonnes et l'utilisation de tris pour l'optimisation.
Algorithmes Gloutons
1. Optimisation des Transactions (Marchandage Avide)
Ce problème concerne l'optimisation d'une série de transactions pour maximiser le gain d'une ...
Publié le 27 juillet à 09h41
Solutions pour le CSP-J 2025
Problème 1 : Construction du nombre
Analyse de l'algorithme
L'objectif est de former le plus grand nombre entier possible à partir des caractères numériques extraits d'une chaîne donnée. Pour maximiser la valeur, il faut placer les chiffres les plus élevés dans les positions de poids le plus fort, c'est-à-dire au début de la séquence. Par exemp ...
Publié le 25 juillet à 03h41
Solutions aux Problèmes du AtCoder Beginner Contest 354
A - Plante Exponentielle
Ce problème décrit une plante dont la hauteur augmente de manière exponentielle chaque jour. Initialement, la hauteur est de 1. Chaque jour, la plante double sa hauteur cumulée jusqu'à présent. Nous devons déterminer le nombre minimal de jours nécessaires pour que la plante atteigne ou dépasse une hauteur cible spécifié ...
Publié le 19 juillet à 18h26
Outils de vérification de style de code C++
1. Algorithmes non modificateurs de séquence
Ces algorithmes ne modifient pas les éléments des conteneurs sur lesquels ils opèrent.
1.1 find et find_if
find(debut, fin, valeur) : recherche le premier élément égal à valeur, retourne un itérateur (retourne fin si non trouvé).
find_if(debut, fin, prédicat) : recherche le premier élément satisfais ...
Publié le 19 juillet à 13h13