This repository provides my solutions to the Leetcode problems. I will keep it updated according to my progress.
Leetcode contains a ton of problems, each problem requires a set of skills. Furthermore, these skills are categorized into 3 groups:
- Fundamental Skills consists of these skills: Array, String, Sorting, Two Pointers, Simulation, Matrix, Stack, Linked List.
- Intermediate Skills consists of these skills: Hash Table, Math, Binary Search, Greedy, Bit Manipulation, Design, Tree, Depth-First Search.
- Advanced Skills consists of these skills: Dynamic Programming, Divide and Conquer, Backtracking, Rolling Hash, Data Stream, Trie, Quickselect, Union Find.
You can click on any skill mentioned above to see its corresponding problem list, which is being updated. Please be noted that one problem may relate to different skills, so it will appear on several lists.
Each problem contains this information:
- Number: the problem number.
- Difficulty: difficulty level, one of
Easy
,Medium
, andHard
. - Title: the problem title and the corresponding Leetcode link.
- Solution: my solution to the problem, might be implemented in C++, Python, or other languages. Admittedly, most of the solutions are implemented in C++.
- Status: status of the solution, one of
AC
,TLE (x/y)
andMLE (x/y)
- If the status is
AC
, it does mean the solution passes every test case (Acccepted Code). - If the status is
TLE (x/y)
, it does mean the solution gets Time Limit Exceeded after passingx
test cases overy
test cases in total. - If the status is
MLE (x/y)
, it does mean the solution gets Memory Limit Exceeded after passingx
test cases overy
test cases in total.
- If the status is