{"id":31703678,"url":"https://github.com/0xjohnnyboy/algomonsta","last_synced_at":"2025-10-08T22:25:17.978Z","repository":{"id":313768160,"uuid":"1052597016","full_name":"0xJohnnyboy/algomonsta","owner":"0xJohnnyboy","description":"Algo speedrun en Go - FR ","archived":false,"fork":false,"pushed_at":"2025-09-26T12:53:51.000Z","size":148,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-26T14:44:10.392Z","etag":null,"topics":["algorithms","courses","exercises","golang"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/0xJohnnyboy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-08T09:25:11.000Z","updated_at":"2025-09-26T12:53:55.000Z","dependencies_parsed_at":"2025-09-08T11:31:15.134Z","dependency_job_id":"ac93b278-ea55-4121-98e3-33ff85d0d6f7","html_url":"https://github.com/0xJohnnyboy/algomonsta","commit_stats":null,"previous_names":["0xjohnnyboy/algomonsta"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/0xJohnnyboy/algomonsta","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xJohnnyboy%2Falgomonsta","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xJohnnyboy%2Falgomonsta/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xJohnnyboy%2Falgomonsta/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xJohnnyboy%2Falgomonsta/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/0xJohnnyboy","download_url":"https://codeload.github.com/0xJohnnyboy/algomonsta/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xJohnnyboy%2Falgomonsta/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279000780,"owners_count":26082851,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithms","courses","exercises","golang"],"created_at":"2025-10-08T22:25:15.688Z","updated_at":"2025-10-08T22:25:17.969Z","avatar_url":"https://github.com/0xJohnnyboy.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 Algomonsta - algo speed run en Go\n\nUn 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.\n\n## 🎯 Objectifs\n\n- **Apprendre par patterns** plutôt que par problèmes isolés\n- **Reconnaître rapidement** quel algorithme utiliser\n- **Maîtriser Go** pour les entretiens techniques\n- **Progression structurée** du débutant à l'expert\n\n## 📚 Structure du cours\n\n### Phase 1 - Fondamentaux 🟢\n| Cours | Pattern | Difficulté | Quand l'utiliser |\n|-------|---------|------------|------------------|\n| [01](courses/01-two-pointers.md) | Two Pointers | ⭐ | Tableaux triés, paires d'éléments |\n| [02](courses/02-sliding-window.md) | Sliding Window | ⭐⭐ | Sous-tableaux continus, fenêtres |\n| [03](courses/03-binary-search.md) | Binary Search | ⭐⭐ | Recherche dans espaces ordonnés |\n\n### Phase 2 - Structures de données 🟡  \n| Cours | Pattern | Difficulté | Quand l'utiliser |\n|-------|---------|------------|------------------|\n| [04](courses/04-stack-monotonic.md) | Monotonic Stack | ⭐⭐⭐ | Maintenir un ordre spécifique |\n| [05](courses/05-dfs-tree.md) | DFS on Trees | ⭐⭐ | Parcours d'arbres en profondeur |\n| [06](courses/06-bfs-graph.md) | BFS on Graphs | ⭐⭐⭐ | Plus court chemin, niveau par niveau |\n\n### Phase 3 - Algorithmes avancés 🔴\n| Cours | Pattern | Difficulté | Quand l'utiliser |\n|-------|---------|------------|------------------|\n| [07](courses/07-backtracking.md) | Backtracking | ⭐⭐⭐ | Exploration exhaustive |\n| [08](courses/08-dynamic-programming.md) | Dynamic Programming | ⭐⭐⭐⭐ | Sous-problèmes optimaux |\n| [09](courses/09-advanced-patterns.md) | Advanced Patterns | ⭐⭐⭐⭐ | Techniques spécialisées |\n\n## 🏁 Guide de démarrage rapide\n\n### 1. Cloner ce repository\n```bash\ngit clone \u003cvotre-repo\u003e\ncd algo-course\n```\n\n### 2. Commencer par le premier cours\n```bash\n# Lire le cours\ncat courses/01-two-pointers.md\n\n# Pratiquer les exercices  \ncd exercises/two-pointers/easy\n```\n\n### 3. Workflow recommandé\n1. **📖 Lire** le cours complet\n2. **🧠 Comprendre** les exemples\n3. **✍️ Pratiquer** les exercices easy → medium → hard\n4. **✅ Implémenter** vos solutions\n5. **🔄 Réviser** si nécessaire\n6. **➡️ Passer** au cours suivant\n\n## 📁 Organisation des fichiers\n\n```\nalgo-course/\n├── README.md                    # Ce fichier\n├── courses/                     # Cours théoriques\n│   ├── 01-two-pointers.md\n│   ├── 02-sliding-window.md\n│   └── ...\n└── exercises/                   # Exercices pratiques\n    ├── two-pointers/\n    │   ├── easy/\n    │   │   ├── two-sum-ii.md\n    │   │   ├── valid-palindrome.md\n    │   │   └── solution.go       # Vos solutions\n    │   ├── medium/\n    │   └── hard/\n    └── ...\n```\n\n## 💡 Templates Go utiles\n\n### Structure de base\n```go\npackage main\n\nimport (\n    \"fmt\"\n    \"sort\"\n)\n\n// Structures de données courantes\ntype ListNode struct {\n    Val  int\n    Next *ListNode\n}\n\ntype TreeNode struct {\n    Val   int\n    Left  *TreeNode\n    Right *TreeNode\n}\n\nfunc main() {\n    // Vos tests ici\n}\n```\n\n### Fonctions utilitaires\n```go\nfunc max(a, b int) int {\n    if a \u003e b { return a }\n    return b\n}\n\nfunc min(a, b int) int {\n    if a \u003c b { return a }\n    return b\n}\n\nfunc abs(a int) int {\n    if a \u003c 0 { return -a }\n    return a\n}\n```\n\n## 📊 Progression suggérée\n\n### Semaine 1-2 : Fondamentaux\n- [ ] Two Pointers (3-4 exercices)\n- [ ] Sliding Window (4-5 exercices)\n- [ ] Binary Search (3-4 exercices)\n\n### Semaine 3-4 : Structures de données\n- [ ] Monotonic Stack (2-3 exercices)\n- [ ] DFS on Trees (4-5 exercices)  \n- [ ] BFS on Graphs (3-4 exercices)\n\n### Semaine 5-6 : Algorithmes avancés\n- [ ] Backtracking (3-4 exercices)\n- [ ] Dynamic Programming (5-6 exercices)\n- [ ] Advanced Patterns (2-3 exercices)\n\n## 🏆 Conseils pour réussir\n\n### ✅ Bonnes pratiques\n- **Dessinez** le problème avant de coder\n- **Identifiez** le pattern avant d'implémenter\n- **Testez** avec plusieurs exemples\n- **Analysez** la complexité\n- **Refactorisez** votre code\n\n### ❌ Erreurs à éviter\n- Ne pas lire l'énoncé complètement\n- Coder sans comprendre le pattern\n- Ignorer les cas limites\n- Ne pas tester le code\n- Passer au suivant sans maîtriser\n\n## 🔗 Ressources complémentaires\n\n- [Go Documentation](https://golang.org/doc/)\n- [LeetCode](https://leetcode.com/) - Pour plus d'exercices\n- [AlgoMonster](https://algo.monster/) - Inspiration originale\n- [Big O Cheat Sheet](https://www.bigocheatsheet.com/)\n\n## 📞 Support\n\nPour toute question ou amélioration :\n- Créez une issue sur GitHub\n- Ajoutez vos propres exercices\n- Partagez vos solutions optimales\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xjohnnyboy%2Falgomonsta","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F0xjohnnyboy%2Falgomonsta","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xjohnnyboy%2Falgomonsta/lists"}