
Algorithm Patterns
A set of reusable LeetCode-style algorithm templates and a suggested practice order, written in Go.greyireland/algorithm-pattern
- Stars
- 15.5k
- Forks
- 2.6k
- Licence
- MIT
- Language
- Go
- Last update
- 5 months ago
- Type
- Learning resource
What it is
This is a collection of reusable templates for solving common algorithm problems, organized by topic such as binary trees, sliding window, dynamic programming, and backtracking. It also suggests an order for working through LeetCode problems. The author wrote it while preparing for technical job interviews, and the README reads as a personal study record rather than a formal course.
- Read the topic chapters (for example Sliding Window or Backtracking) and practice the linked problems
- Follow the suggested order: work through the table of contents, then LeetCode Explore cards, then Coding Interviews problems
- Use the templates as a starting point when a new problem resembles a known pattern
- Compare your own solutions with the Go examples in the repository docs
Great for
- People preparing for coding interviews who want to study by topic
- Beginners who feel unsure where to start with LeetCode
- Go programmers who want Go-language examples of common patterns
- Learners who prefer reading written notes with practice problems attached
Not ideal for
- Readers who want a formal textbook or university-level algorithms course, since the README describes a personal study guide
- People who need guaranteed job outcomes; the README's claims about offers reflect one author's experience
- Anyone looking for a runnable software application, since the README describes documentation and templates rather than an installable program
How to get it
- 1
Use it in the browser (or self-host)
Clone the repository
git clone https://github.com/greyireland/algorithm-pattern - 2
Run it
- Open the online docs at https://greyireland.gitbook.io/algorithm-pattern/
- Read the Getting Started chapter, including the Go introduction, if you are new to Go
- Work through the topic chapters in the order listed in the table of contents
- Attempt the linked practice problems on LeetCode before reading the full solution
- 3
Get the most out of it
- Read the Recommended Practice Path section for the author's suggested order of study
- Use the Explore cards and Coding Interviews problem set as the README suggests, in sequence
- Check the community ports listed under Check-ins if you prefer another language
- Use the Interview Resources section for classic computer science books the author recommends
Downloads
Strengths
- Organized by problem type, so related problems can be practiced together
- Includes a suggested practice order and time budget, which many beginners find useful
- Has a large following on GitHub and many community ports in other languages listed in the README
Trade-offs
- The README is written partly in Chinese-language context and points to Chinese-language LeetCode resources, which may be harder to use for some readers
- Claims about interview success and problem counts come from one person's experience, not from measured results
- The README is truncated here, so the full chapter contents and code examples could not be checked
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| algorithm-pattern (this) | 15.5k | Learning resource | beginner | 5 months ago | People preparing for coding interviews who want to study by topic |
| LeetCode-Go | 33.8k | Learning resource | beginner | 24 days ago | Developers practicing LeetCode problems in Go |
| interviews | 65.5k | Learning resource | beginner | 1.5 years ago | Students preparing for their first software engineering interviews |
| Python | 226k | Learning resource | beginner | 17 days ago | Students learning algorithms and data structures |
| javascript-algorithms | 197k | Learning resource | beginner | 3 months ago | Students learning core computer science concepts in JavaScript |
| Java | 66.7k | Learning resource | beginner | 4 days ago | Students learning algorithms and data structures in Java |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.