forked from azl397985856/leetcode
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' of https://github.com/azl397985856/leetcode
- Loading branch information
Showing
2 changed files
with
263 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,247 @@ | ||
# LeetCode | ||
|
||
[简体中文](./README.md) | English | ||
|
||
--- | ||
|
||
## Introduction | ||
|
||
![leetcode.jpeg](./assets/leetcode.jpeg) | ||
|
||
LeetCode Solutions: A Record of My Problem Solving Journey. | ||
|
||
This repository will be divided into four parts for now: | ||
|
||
- The first part is the solutions to some classic problems on LeetCode, including the idea thinkings, key points and code implementations. | ||
|
||
- The second part is the summary of data structures and algorithms. | ||
|
||
- The third part is [Anki flashcards](https://apps.ankiweb.net) that record the LeetCode problems in a certain way so as to make it easier to remember. | ||
|
||
- The fourth part is future plans on content that would be introduced into the above parts. | ||
|
||
> Only when having mastered the basic data structures and algorithms can you solve complex problems easily. | ||
|
||
|
||
## Usage Instructions | ||
|
||
- For the parts that were added recently, there will be a 🆕 behind. | ||
- For the parts that were updated recently, there will be a 🖊 behind. | ||
- Here will be the place to update Anki Flashcards in the future as well. | ||
- Here is a mind mapping graph showing the summary of categorizations of problems that are questioned frequently in interviews. We could analyze according to the information in the graph. | ||
|
||
![leetcode-zhihu](./assets//leetcode-zhihu.jpg) | ||
|
||
(Picture credited by [LeetCode-cn](https://www.zhihu.com/question/24964987/answer/586425979).) | ||
|
||
The algorithms mainly includes: | ||
|
||
- Basic skills: Divide-and-Conquer; Binary; Greedy | ||
- Sorting algorithms: Quicksort; Merge Sort; Counting Sort | ||
- Searching algorithms: Backtracking; Recursion; Depth-First-Search (DFS); Breath-First-Search (BFS); Binary Search Tree; etc. | ||
- Graph theory: Shortest Path Problem; Minimal Spanning Tree | ||
- Dynamic Programming: Knapsack Problem; Longest Common Subsequence (LCS) Problem | ||
|
||
The data structures mainly includes: | ||
|
||
- Array and linked list: Singly/Doubly-Linked List | ||
- Stack and queue | ||
- Hash table | ||
- Heap: Min-Max Heap | ||
- Tree and Graph: Lowest Common Ancestor (LCA); Disjoint-Set | ||
- String: Prefix Tree (Trie); Suffix Tree | ||
|
||
|
||
|
||
## Previews | ||
|
||
[0042.trapping-rain-water](./problems/42.trapping-rain-water.md): | ||
|
||
![0042.trapping-rain-water](./assets/problems/42.trapping-rain-water-1.png) | ||
|
||
[Stack in Browser](./thinkings/basic-data-structure.md): | ||
|
||
![basic-data-structure-call-stack](./assets/thinkings/basic-data-structure-call-stack.png) | ||
|
||
[backtrack problems](./problems/90.subsets-ii.md): | ||
|
||
![backtrack](./assets/problems/backtrack.png) | ||
|
||
[0198.house-robber](./problems/198.house-robber.md): | ||
|
||
![198.house-robber](./assets/problems/198.house-robber.png) | ||
|
||
[0454.4-sum-ii](./problems/454.4-sum-ii.md): | ||
|
||
![454.4-sum-ii](./assets/problems/454.4-sum-ii.png) | ||
|
||
|
||
|
||
## Top Problems Progress | ||
|
||
- [Top 100 Linked Questions](https://leetcode.com/problemset/top-100-liked-questions/) (44 / 100) | ||
|
||
- [Top Interview Questions](https://leetcode.com/problemset/top-interview-questions/) (64 / 145) | ||
|
||
|
||
|
||
## Portals | ||
|
||
### Solutions to LeetCode Classic Problems | ||
|
||
> Here only lists some representative problems but not all. | ||
#### Easy | ||
|
||
- [0020.Valid Parentheses](./problems/20.validParentheses.md) | ||
- [0026.remove-duplicates-from-sorted-array](./problems/26.remove-duplicates-from-sorted-array.md) | ||
- [0088.merge-sorted-array](./problems/88.merge-sorted-array.md) | ||
- [0121.best-time-to-buy-and-sell-stock](./problems/121.best-time-to-buy-and-sell-stock.md) 🆕 | ||
- [0122.best-time-to-buy-and-sell-stock-ii](./problems/122.best-time-to-buy-and-sell-stock-ii.md) 🆕 | ||
- [0136.single-number](./problems/136.single-number.md) | ||
- [0167.two-sum-ii-input-array-is-sorted](./problems/167.two-sum-ii-input-array-is-sorted.md) | ||
- [0169.majority-element](./problems/169.majority-element.md) | ||
- [0190.reverse-bits](./problems/190.reverse-bits.md) | ||
- [0191.number-of-1-bits](./problems/191.number-of-1-bits.md) | ||
- [0198.house-robber](./problems/198.house-robber.md) 🆕 | ||
- [0203.remove-linked-list-elements](./problems/203.remove-linked-list-elements.md) | ||
- [0206.reverse-linked-list](./problems/206.reverse-linked-list.md) | ||
- [0219.contains-duplicate-ii](./problems/219.contains-duplicate-ii.md) | ||
- [0226.invert-binary-tree](./problems/226.invert-binary-tree.md) | ||
- [0283.move-zeroes](./problems/283.move-zeroes.md) | ||
- [0349.intersection-of-two-arrays](./problems/349.intersection-of-two-arrays.md) | ||
|
||
|
||
#### Medium | ||
|
||
- [0002. Add Two Numbers](./problems/2.addTwoNumbers.md) | ||
- [0003. Longest Substring Without Repeating Characters](./problems/3.longestSubstringWithoutRepeatingCharacters.md) | ||
- [0011.container-with-most-water](./problems/11.container-with-most-water.md) | ||
- [0015.3-sum](./problems/15.3-sum.md) 🆕 | ||
- [0019. Remove Nth Node From End of List](./problems/19.removeNthNodeFromEndofList.md) | ||
- [0024. Swap Nodes In Pairs](./problems/24.swapNodesInPairs.md) | ||
- [0039.combination-sum](./problems/39.combination-sum.md) | ||
- [0040.combination-sum-ii](./problems/40.combination-sum-ii.md) | ||
- [0046.permutations](./problems/46.permutations.md) | ||
- [0047.permutations-ii](./problems/47.permutations-ii.md) | ||
- [0055.jump-game](./problems/55.jump-game.md) 🆕 | ||
- [0062.unique-paths](./problems/62.unique-paths.md )🆕 | ||
- [0075.sort-colors](./problems/75.sort-colors.md) | ||
- [0078.subsets](./problems/78.subsets.md) 🆕 | ||
- [0086.partition-list](./problems/86.partition-list.md) | ||
- [0090.subsets-ii](./problems/90.subsets-ii.md) | ||
- [0091.decode-ways](./problems/91.decode-ways.md) 🆕 | ||
- [0092.reverse-linked-list-ii](./problems/92.reverse-linked-list-ii.md) | ||
- [0094.binary-tree-inorder-traversal](./problems/94.binary-tree-inorder-traversal.md) | ||
- [0102.binary-tree-level-order-traversal](./problems/102.binary-tree-level-order-traversal.md) | ||
- [0103.binary-tree-zigzag-level-order-traversal](./problems/103.binary-tree-zigzag-level-order-traversal.md) | ||
- [0139.word-break](./problems/139.word-breakmd) | ||
- [0144.binary-tree-preorder-traversal](./problems/144.binary-tree-preorder-traversal.md) | ||
- [0150.evaluate-reverse-polish-notation](./problems/150.evaluate-reverse-polish-notation.md) 🖊 | ||
- [0152.maximum-product-subarray](./problems/152.maximum-product-subarray.md) 🆕 | ||
- [0199.binary-tree-right-side-view](./problems/199.binary-tree-right-side-view.md) | ||
- [0201.bitwise-and-of-numbers-range](./problems/201.bitwise-and-of-numbers-range.md) | ||
- [0208.implement-trie-prefix-tree](./problems/208.implement-trie-prefix-tree.md) 🆕 | ||
- [0209.minimum-size-subarray-sum](./problems/209.minimum-size-subarray-sum.md) 🖊 | ||
- [0236.lowest-common-ancestor-of-a-binary-tree](./problems/236.lowest-common-ancestor-of-a-binary-tree.md)🆕 | ||
- [0238.product-of-array-except-self](./problems/238.product-of-array-except-self.md) 🆕 | ||
- [0240.search-a-2-d-matrix-ii](./problems/240.search-a-2-d-matrix-ii.md) | ||
- [0279.perfect-squares](./problems/279.perfect-squares.md) | ||
- [0309.best-time-to-buy-and-sell-stock-with-cooldown](./problems/309.best-time-to-buy-and-sell-stock-with-cooldown.md) 🆕 | ||
- [0322.coin-change](./problems/322.coin-change.md) | ||
- [0334.increasing-triplet-subsequence](./problems/334.increasing-triplet-subsequence.md) | ||
- [0328.odd-even-linked-list](./problems/328.odd-even-linked-list.md) | ||
- [0416.partition-equal-subset-sum](./problems/416.partition-equal-subset-sum.md) | ||
- [0445.add-two-numbers-ii](./problems/445.add-two-numbers-ii.md) | ||
- [0454.4-sum-ii](./problems/454.4-sum-ii.md) 🆕 | ||
- [0494.target-sum](./problems/494.target-sum.md) 🆕 | ||
- [0518.coin-change-2](./problems/518.coin-change-2.md) | ||
- [0875.koko-eating-bananas](./problems/875.koko-eating-bananas.md) | ||
- [0877.stone-game](./problems/877.stone-game.md) | ||
- [0887.super-egg-drop](./problems/887.super-egg-drop.md) | ||
- [0900.rle-iterator](./problems/900.rle-iterator.md) | ||
|
||
#### Hard | ||
- [0023.merge-k-sorted-lists](./problems/23.merge-k-sorted-lists.md) | ||
- [0042.trapping-rain-water](./problems/42.trapping-rain-water.md) | ||
- [0128.longest-consecutive-sequence](./problems/128.longest-consecutive-sequence.md) 🆕 | ||
- [0145.binary-tree-postorder-traversal](./problems/145.binary-tree-postorder-traversal.md) | ||
- [0146.lru-cache](./problems/146.lru-cache.md) | ||
- [0239.sliding-window-maximum](./problems/239.sliding-window-maximum.md) | ||
- [0295.find-median-from-data-stream](./problems/295.find-median-from-data-stream.md) 🆕 | ||
- [0301.remove-invalid-parentheses](./problems/301.remove-invalid-parentheses.md) | ||
|
||
|
||
|
||
### Summary of Data Structures and Algorithms | ||
|
||
- 🖊 [Data Structure](./thinkings/basic-data-structure.md) (Drafts) | ||
- 🖊 [Binary Tree Traversal](./thinkings/binary-tree-traversal.md) | ||
- [Dynamic Programming](./thinkings/dynamic-programming.md) | ||
- [Huffman Encode and Run Length Encode](./thinkings/run-length-encode-and-huffman-encode.md) | ||
- [Bloom Filter](./thinkings/bloom-filter.md) | ||
|
||
|
||
|
||
### Anki Flashcards | ||
|
||
Anki falshcards would be mainly two parts: the mappings from key points to problems; the mappings from problems to idea thinks, key points and code implementations. | ||
|
||
All flashcards are put in [anki-card](./assets/anki/leetcode.apkg). | ||
|
||
> Please check [here](https://apps.ankiweb.net/) for more about the usage of Anki. | ||
Latest updated flashcards (only lists the front page): | ||
|
||
- What is the key point of the binary search algorithm? Related problems? | ||
- How to simplify the operations using the features of stacks? Related problems? | ||
- The thinkings and related problems of double-pointers problems? | ||
- The thinkings and related problems of sliding window problems? | ||
- The thinkings and related problems of backtracking? | ||
|
||
|
||
|
||
### Future Plans | ||
|
||
- [0494.target-sum](./todo/494.target-sum.js) | ||
|
||
- [0609.find-duplicate-file-in-system](./todo/609.find-duplicate-file-in-system.js) | ||
|
||
- [0010.regular-expression-matching](./todo/10.regular-expression-matching.js) | ||
|
||
- [0309.best-time-to-buy-and-sell-stock-with-cooldown](./todo/309.best-time-to-buy-and-sell-stock-with-cooldown.js) | ||
|
||
- [0365.water-and-jug-problem](./todo/365.water-and-jug-problem.js) | ||
|
||
- [Complete Anki Flashcards](./assets/anki/) | ||
|
||
- [Collection of String Problem](./todo/str/) | ||
|
||
|
||
|
||
## Community Chat Groups | ||
|
||
We're still on the early stage, so feedback from community is very welcome. For sake of reducing the costs of communication, I created some chat groups. | ||
|
||
### Telegram | ||
|
||
[http://t.me/leetcode_intl](http://t.me/leetcode_intl) | ||
|
||
### QQ (For China Region) | ||
|
||
![qq-group-chat](./assets/qq-group-chat.png) | ||
|
||
### WeChat (For China Region) | ||
|
||
![wechat-group-chat](./assets/wechat-group-chat.jpeg) | ||
|
||
(Add this bot and reply "leetcode" to join the group.) | ||
|
||
|
||
|
||
## Contribution | ||
|
||
- If you have any ideas, [Issues](https://github.com/azl397985856/leetcode/issues) or chat in groups. | ||
- If you want to commit to the repository, Pull Request is welcome. | ||
- If you want to edit images resources in this project, [here](./assets/drawio/) lists the files that can be edited on [draw.io](https://www.draw.io/). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters