https://github.com/0xjohnnyboy/algomonsta
Algo speedrun en Go - FR
https://github.com/0xjohnnyboy/algomonsta
algorithms courses exercises golang
Last synced: 9 months ago
JSON representation
Algo speedrun en Go - FR
- Host: GitHub
- URL: https://github.com/0xjohnnyboy/algomonsta
- Owner: 0xJohnnyboy
- Created: 2025-09-08T09:25:11.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-09-26T12:53:51.000Z (9 months ago)
- Last Synced: 2025-09-26T14:44:10.392Z (9 months ago)
- Topics: algorithms, courses, exercises, golang
- Homepage:
- Size: 145 KB
- Stars: 3
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# đ Algomonsta - algo speed run en Go
Un cours d'algorithmique structuré par patterns, conçu pour la préparation aux entretiens techniques et l'amélioration des compétences en résolution de problÚmes.
## đŻ Objectifs
- **Apprendre par patterns** plutÎt que par problÚmes isolés
- **ReconnaĂźtre rapidement** quel algorithme utiliser
- **MaĂźtriser Go** pour les entretiens techniques
- **Progression structurée** du débutant à l'expert
## đ Structure du cours
### Phase 1 - Fondamentaux đą
| Cours | Pattern | Difficulté | Quand l'utiliser |
|-------|---------|------------|------------------|
| [01](courses/01-two-pointers.md) | Two Pointers | â | Tableaux triĂ©s, paires d'Ă©lĂ©ments |
| [02](courses/02-sliding-window.md) | Sliding Window | ââ | Sous-tableaux continus, fenĂȘtres |
| [03](courses/03-binary-search.md) | Binary Search | ââ | Recherche dans espaces ordonnĂ©s |
### Phase 2 - Structures de donnĂ©es đĄ
| Cours | Pattern | Difficulté | Quand l'utiliser |
|-------|---------|------------|------------------|
| [04](courses/04-stack-monotonic.md) | Monotonic Stack | âââ | Maintenir un ordre spĂ©cifique |
| [05](courses/05-dfs-tree.md) | DFS on Trees | ââ | Parcours d'arbres en profondeur |
| [06](courses/06-bfs-graph.md) | BFS on Graphs | âââ | Plus court chemin, niveau par niveau |
### Phase 3 - Algorithmes avancĂ©s đŽ
| Cours | Pattern | Difficulté | Quand l'utiliser |
|-------|---------|------------|------------------|
| [07](courses/07-backtracking.md) | Backtracking | âââ | Exploration exhaustive |
| [08](courses/08-dynamic-programming.md) | Dynamic Programming | ââââ | Sous-problĂšmes optimaux |
| [09](courses/09-advanced-patterns.md) | Advanced Patterns | ââââ | Techniques spĂ©cialisĂ©es |
## đ Guide de dĂ©marrage rapide
### 1. Cloner ce repository
```bash
git clone
cd algo-course
```
### 2. Commencer par le premier cours
```bash
# Lire le cours
cat courses/01-two-pointers.md
# Pratiquer les exercices
cd exercises/two-pointers/easy
```
### 3. Workflow recommandé
1. **đ Lire** le cours complet
2. **đ§ Comprendre** les exemples
3. **âïž Pratiquer** les exercices easy â medium â hard
4. **â
Implémenter** vos solutions
5. **đ RĂ©viser** si nĂ©cessaire
6. **âĄïž Passer** au cours suivant
## đ Organisation des fichiers
```
algo-course/
âââ README.md # Ce fichier
âââ courses/ # Cours thĂ©oriques
â âââ 01-two-pointers.md
â âââ 02-sliding-window.md
â âââ ...
âââ exercises/ # Exercices pratiques
âââ two-pointers/
â âââ easy/
â â âââ two-sum-ii.md
â â âââ valid-palindrome.md
â â âââ solution.go # Vos solutions
â âââ medium/
â âââ hard/
âââ ...
```
## đĄ Templates Go utiles
### Structure de base
```go
package main
import (
"fmt"
"sort"
)
// Structures de données courantes
type ListNode struct {
Val int
Next *ListNode
}
type TreeNode struct {
Val int
Left *TreeNode
Right *TreeNode
}
func main() {
// Vos tests ici
}
```
### Fonctions utilitaires
```go
func max(a, b int) int {
if a > b { return a }
return b
}
func min(a, b int) int {
if a < b { return a }
return b
}
func abs(a int) int {
if a < 0 { return -a }
return a
}
```
## đ Progression suggĂ©rĂ©e
### Semaine 1-2 : Fondamentaux
- [ ] Two Pointers (3-4 exercices)
- [ ] Sliding Window (4-5 exercices)
- [ ] Binary Search (3-4 exercices)
### Semaine 3-4 : Structures de données
- [ ] Monotonic Stack (2-3 exercices)
- [ ] DFS on Trees (4-5 exercices)
- [ ] BFS on Graphs (3-4 exercices)
### Semaine 5-6 : Algorithmes avancés
- [ ] Backtracking (3-4 exercices)
- [ ] Dynamic Programming (5-6 exercices)
- [ ] Advanced Patterns (2-3 exercices)
## đ Conseils pour rĂ©ussir
### â
Bonnes pratiques
- **Dessinez** le problĂšme avant de coder
- **Identifiez** le pattern avant d'implémenter
- **Testez** avec plusieurs exemples
- **Analysez** la complexité
- **Refactorisez** votre code
### â Erreurs Ă Ă©viter
- Ne pas lire l'énoncé complÚtement
- Coder sans comprendre le pattern
- Ignorer les cas limites
- Ne pas tester le code
- Passer au suivant sans maĂźtriser
## đ Ressources complĂ©mentaires
- [Go Documentation](https://golang.org/doc/)
- [LeetCode](https://leetcode.com/) - Pour plus d'exercices
- [AlgoMonster](https://algo.monster/) - Inspiration originale
- [Big O Cheat Sheet](https://www.bigocheatsheet.com/)
## đ Support
Pour toute question ou amélioration :
- Créez une issue sur GitHub
- Ajoutez vos propres exercices
- Partagez vos solutions optimales