gitmyhub

leetcode-patterns

TypeScript ★ 13k updated 1d ago

A pattern-based approach to learn technical interview questions

A curated study resource that organizes LeetCode coding problems by underlying technique (sliding window, two pointers, DFS) to help you prepare for software engineering interviews more efficiently.

TypeScriptNext.jsReactTailwind CSSVitestsetup: easycomplexity 2/5

Leetcode Patterns is a study resource for people preparing for software engineering job interviews. Instead of working through coding problems at random, this project organizes them by the underlying technique they test, such as sliding window, two pointers, or depth-first search. The idea is that once you recognize a pattern, you can apply the same approach to many different questions.

The problem list is hosted online at seanprashad.com/leetcode-patterns, and all of the questions link back to LeetCode, the popular coding practice platform. Some questions require a LeetCode Premium subscription. A companion branch in the same repository contains solutions written in Java for reference.

The README suggests building a foundation before starting. It recommends knowing how common data structures work, including arrays, maps, linked lists, queues, heaps, stacks, trees, and graphs, and being comfortable with core algorithms like binary search, breadth-first search, depth-first search, and recursion. A linked PDF covers the main data structures in Java if you need a refresher.

The web application that powers the question list is built with Next.js and React, using TypeScript and Tailwind CSS for styling. Developers who want to contribute can clone the repo, install dependencies, and run a local development server. Tests are written with Vitest and React Testing Library, and a pre-push hook runs the test suite automatically before code is shared.

The project draws its inspiration from Grokking the Coding Interview, the Blind 75 list, and a Hackernoon article on coding interview patterns. It is not affiliated with LeetCode.

Where it fits