Algorithme Snowflake : Génération d'ID Distribués
L'algorithme Snowflake, développé par Twitter, a pour objectif de générer un entier de 64 bits unique dans un système distribué. Voici sa structure typique :
1 bit : Généralement réservé au signe, non utilisé dans la pratique
41 bits : Horodatage, permettant de représsembler environ 69 années. Si on définit une date de départ (ex: 2023), cela ...
Publié le 9 juillet à 03h30
Bilan des trois premiers devoirs PTA
Après avoir traversé trois épreuves PTA, j'ai l'impression d'avoir évolué. La moitié de mes cellules cérébrales ont déjà pris le chemin du paradis. Peut-être est-ce ma propre lenteur, mais j'ai trouvé que le premier devoir PTA était gérable, le deuxième un peu difficile, et le troisième m'a complètement déconcerté. Cependant, j'ai beaucoup appr ...
Publié le 8 juillet à 19h44
Algorithmes de recherche de sous-chaînes et de répétition : KMP et au-delà
La capacité d'une personne à aller loin ne se mesure pas à la vitesse à laquelle elle avance dans des circonstances favorables, mais à la rapidité avec laquelle elle retrouve son essence dans l'adversité.
— KMP
LeetCode 28 : Trouver l'index de la première occurrence d'une sous-chaîne
Lien du problème : LeetCode 28. Trouver l'index de la premièr ...
Publié le 6 juillet à 22h01
Résolutions de problèmes algorithmiques en C : calculs, tri, récursivité et programmation dynamique
Implémentation d'une calculatrice basique prenant en charge les quatre opérations arithmétiques à partir d'une entrée formatée.
#include <stdio.h>
int main(void) {
int x, y, res;
char op;
scanf("%d%c%d", &x, &op, &y);
switch(op) {
case '+': res = x + y; break;
case '-': res = x - y; b ...
Publié le 6 juillet à 17h11
Résolution du Concours AtCoder Regular 110
Liens du Concours
Les performances d'AtCoder varient l'après-midi, mais les soirées de compétition sont toujours exceptionnelles.
A - Redondance Redondante
Étant donné un entier \(N(2\leq N\leq 30)\), trouver un entier \(x(N\leq x\leq 10^{13})\) tel que pour tout entier \(y(2\leq y\leq N)\), on ait \(x\bmod y=1\).
Idées & Solution
Problème ...
Publié le 5 juillet à 18h59
Approches Algorithmiques Avancées pour Problèmes Sélectionnés
Cet article explore diverses techniques algorithmiques à travers une sélection de problèmes de programmation compétitive, couvrant des domaines tels que la construction, la théorie des nombres, les structures de données avancées, la programmation dynamique et la théorie des graphes.
CF1667C Couverture par Semi-Dames
Tags: Construction, Mathémat ...
Publié le 5 juillet à 17h38
TheAlgorithms/C-Plus-Plus : une bibliothèque d'algorithmes en C++ pour l'éducation
TheAlgorithms/C-Plus-Plus est une bibliothèque open source d'algorithmes visant à fournir des implémentations C++ de haute qualité pour l'enseignement de l'informatique. Ce projet rassemble les contributions de développeurs du monde entier, couvrant un large éventail allant des structures de données fondamentales aux algorithmes avancés d'appre ...
Publié le 5 juillet à 02h46
Solutions de problèmes de combinatoire - Analyse et implémentation
La clé de ce problème réside dans la notion d'« inclusion stricte ». Initialement, j'ai négligé cet aspect et j'ai eu du mal à trouver une solution.
Dans le cas d'une inclusion stricte, nous devons sélectionner 2k arêtes respectivement horizontalement et verticalement. Les directions horizontale et verticale étant indépendantes, nous pouvons ap ...
Publié le 4 juillet à 19h05
Maîtrise des chaînes de caractères en Java : syntaxe, techniques et applications
Introduction
La manipulation des chaînes de caractères est une compétence essentielle en Java, que ce soit pour résoudre des problèmes algorithmiques ou pour le développement quotidien. Ce guide détaille les opérations courantes sur les chaînes, avec des exemples de code, des cas d'utilisation et des astuces pour éviter les erreurs courantes.
O ...
Publié le 4 juillet à 00h01
Longueur du plus long sous-chaîne sans caractères répétés
Étant donné une chaîne de caractères s, trouvez la longueur du plus long sous-chaîne sans caractères répétés.
Exemple 1:
<strong>Entrée:</strong> s = "abcabcbb"
<strong>Sortie:</strong> 3
<strong>Explication:</strong> Le plus long sous-chaîne sans caractères répétitifs est "abc", donc sa ...
Publié le 2 juillet à 22h00