If you like this project, please leave me a star. ★
A comprehensive collection of guides, blueprints, and cheat sheets covering essential data structures and algorithmic paradigms.
- Backtracking — Core concepts and patterns for systematic exhaustive searches.
- Binary Search — Blueprints for searching sorted spaces efficiently.
- Depth-First Search (DFS) — Traversal techniques and recursion patterns for graphs and trees.
- Sliding Window Blueprint — Templates for optimizing sub-array and substring problems.
- Dynamic Programming — Templates for dynamic programming.
- Binary Search Tree (BST) — Structural properties, insertion, deletion, and balancing concepts.
- Bit Manipulation — Common bitwise tricks and low-level optimization cheat sheets.
- Graph Theory & Trees — Fundamentals of nodes, edges, network topologies, and tree structures.
- Monotonic Stack Guide — Next greater/smaller element problem patterns explained.
- Union Find Guide — Disjoint-set data structure mechanisms and path compression techniques.
- Graph Cycle Decomposition — Graph cycle decomposition techniques.
- Computer Science Fundamentals — Essential theoretical building blocks and interview preparation notes.
- Character Manipulation & Rotational Cipher - Central reference for bitwise/ASCII shifts and cipher implementation strategies.
Your ideas/fixes/algorithms are more than welcome!
- Please make sure your PR builds after submitting! Check out here: https://travis-ci.org/github/fishercoder1534/Leetcode/pull_requests and look for your PR build.
- Fork this repo
- Clone your forked repo (
git clone https://github.com/YOUR_GITHUB_USERNAME/Leetcode.git) onto your local machine cdinto your cloned directory, create your feature branch (git checkout -b my-awesome-fix)git addyour desired changes to this repo- Commit your changes (
git commit -m 'Added some awesome features/fixes') - Push to the branch (
git push origin my-awesome-feature) - Open your forked repo on Github website, create a new Pull Request to this repo!
- Install IntelliJ on your machine, either CE or UE.
- git clone this repo to your local disk
- import this project as a new project (does need to be imported as a gradle project)
- If you run into "Could not determine Java version using executable ..." error, use local gradle distribution: "/usr/local/Cellar/gradle/4.8.1/libexec/" instead of the default one. More details, see this question on Stackoverflow.