Recherche du Premier Caractère Unique dans une Chaîne en Java (LeetCode 387)

La tâche consiste à identifier le premier caractère non répétitif au sein d'une chaîne de caractères donnée et à renvoyer son indice. Si aucun caractère unique n'est trouvé, la fonction doit retourner -1. Exemples : s = "leetcode" retourne 0 (le caractère 'l' est le premier unique) s = "loveleetcode" retourne 2 (le caractèr ...

Publié le 25 juillet à 04h26

Somme de Minkowski et Enveloppes Convexes

Définition Fondamentale La somme de Minkowski de deux ensembles de points \(A\) et \(B\) dans un espace vectoriel est définie par l'ensemble : Propriétés des Enveloppes Convexes Pour deux enveloppes convexes \(P\) et \(Q\), les propriétés suivantes simplifient considérablement le calcul : La somme de Minkowski \(P + Q\) est elle-même une enve ...

Publié le 21 juillet à 07h41

Évaluation d'Expressions Arithmétiques Utilisant des Piles

Les piles (ou stacks) sont des structures de données fondamentales en informatique, suivant le prnicipe LIFO (Last-In, First-Out), c'est-à-dire que le dernier élément ajouté est le premier à être retiré. Elles sont couramment utilisées pour gérer la mémoire des appels de fonctions, l'analyse syntaxique de code, et bien sûr, l'évaluation d'expre ...

Publié le 20 juillet à 21h25

Problèmes LeetCode courants et solutions optimisées en C#

Somme de deux nombres Étant donné un tableau d'entiers nombres et une valeur cible cible, trouvez deux indices dans le tableau dont les éléments s'additionnent pour atteindre la cible. Chaque entrée n'a qu'une seule solution, et vous ne pouvez pas utiliser le même élément deux fois. Exemple : Avec nombres = [2, 7, 11, 15] et cible = 9, les i ...

Publié le 20 juillet à 12h24

Arbres binaires et algorithmes de backtracking

Les arbres binaires sont des structures de données fondamentales. Cet article explore les algorithmes courants liés à leur manipulation, en incluant la construction, le parcours, la recherche et la modification. Définition d'un nœud d'arbre binaire class TreeNode { int data; TreeNode leftChild; TreeNode rightChild; TreeNode(in ...

Publié le 20 juillet à 02h48

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

Calcul de la Somme Minimale d'un Chemin dans un Triangle

On vous fournit une structure de données représentant un triangle de nombres entiers. Votre tâche est de déterminer la somme minimale des valeurs le long d'un chemin qui part du sommet du triangle et se termine sur l'une des cellules de sa base. La règle de déplacement est la suivante : depuis un élément triangle[i][j] (où i est l'indice de la ...

Publié le 19 juillet à 05h37

Algorithmes classiques : élimination par position, combinaisons de somme et distance d'édition

Élimination des positions impaires Énoncé Étant donné une séquence contenant tous les entiers de 0 à n en ordre croissant, on applique un filtrage répété : à chaque passage, on supprime les éléments situés aux positions impaires. On répète cette opération jusqu'à ce qu'il ne reste qu'un seul nombre. Il faut déterminer ce dernier nombre survi ...

Publié le 18 juillet à 20h58

Implémentation d'une file d'attente avec deux piles en Go

Problématique 232. Implémenter une file d'attente avec des piles Utilisez deux piles pour implémenter une file d'attente de premier entré, premier sorti (FIFO). Votre file d'attente doit prendre en charge toutes les opérations standard (ajouter, retirer, consulter, vérifier si vide) : Implémentez la classe FileAttente : void ajouter(int x) : a ...

Publié le 18 juillet à 09h15

Intersection de Lignes (Géométrie Comput de Base + Détermination de la Relation Positionnelle de Deux L Droites)

Lien du problème : http://poj.org/problem?id=1269 Description : Nous savons tous qu'une paire de points distincts sur un plan définit une ligne et qu'une paire de lignes sur un plan intersectera de trois manières : 1) aucune intersection car elles sont parallèles, 2) intersection en une ligne car elles se superposent (c'est-à-dire qu'elles sont ...

Publié le 18 juillet à 09h01