提交 7c629ffa 编写于 作者: S Songkeys

Add English README

上级 cc1405b2
# 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/).
# LeetCode-en
# LeetCode
🚧 WIP. This repository is an English version translated from [azl397985856/leetcode](https://github.com/azl397985856/leetcode). Contribution is welcome!
简体中文 | [English](./README.en.md)
---
## 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:
leetcode 题解,记录自己的 leetcode 解题之路。
- 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.
- 第一个部分是 leetcode 经典题目的解析,包括思路,关键点和具体的代码实现。
- 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.
- 第三部分是 anki 卡片, 将 leetcode 题目按照一定的方式记录在 anki 中,方便大家记忆。
> Only when having mastered the basic data structures and algorithms can you solve complex problems easily.
- 第四部分是计划, 这里会记录将来要加入到以上三个部分内容
> 只有熟练掌握基础的数据结构与算法,才能对复杂问题迎刃有余。
## 食用指南
## Usage Instructions
- 对于最近添加的部分, 后面会有 🆕 标注
- 对于最近更新的部分, 后面会有 🖊 标注
- 将来会在这里更新anki卡片
- 这里有一份leetcode官方账号在知乎上给出的一个《互联网公司最常见的面试算法题有哪些?》的答案,我这里尽量去覆盖回答中的题目和知识点
原文地址: https://www.zhihu.com/question/24964987/answer/586425979
- 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).)
(图片来自leetcode)
其中算法,主要是以下几种:
- 基础技巧:分治、二分、贪心
- 排序算法:快速排序、归并排序、计数排序
- 搜索算法:回溯、递归、深度优先遍历,广度优先遍历,二叉搜索树等
- 图论:最短路径、最小生成树
- 动态规划:背包问题、最长子序列
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)
[浏览器中的栈](./thinkings/basic-data-structure.md)
![basic-data-structure-call-stack](./assets/thinkings/basic-data-structure-call-stack.png)
......@@ -76,23 +79,18 @@ The data structures mainly includes:
![454.4-sum-ii](./assets/problems/454.4-sum-ii.png)
## Top Problems Progress
## Top题目进度
- [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)
## 传送门
### leetcode 经典题目的解析
> 这里仅列举具有代表性题目,并不是全部题目
## 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)
......@@ -113,7 +111,7 @@ The data structures mainly includes:
- [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)
......@@ -162,7 +160,7 @@ The data structures mainly includes:
- [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) 🆕
......@@ -172,37 +170,35 @@ The data structures mainly includes:
- [0295.find-median-from-data-stream](./problems/295.find-median-from-data-stream.md) 🆕
- [0301.remove-invalid-parentheses](./problems/301.remove-invalid-parentheses.md)
### 数据结构与算法的总结
- 🖊 [数据结构](./thinkings/basic-data-structure.md)(草稿)
- 🖊 [二叉树的遍历](./thinkings/binary-tree-traversal.md)
- [动态规划](./thinkings/dynamic-programming.md)
- [哈夫曼编码和游程编码](./thinkings/run-length-encode-and-huffman-encode.md)
- [布隆过滤器](./thinkings/bloom-filter.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 卡片
Anki主要分为两个部分:一部分是关键点到题目的映射,另一部分是题目到思路,关键点,代码的映射。
### Anki Flashcards
全部卡片都在[anki-card](./assets/anki/leetcode.apkg)
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).
anki - 文件 - 导入 - 下拉格式选择“打包的 anki集合”,然后选中你下载好的文件,确定即可。
> Please check [here](https://apps.ankiweb.net/) for more about the usage of Anki.
更多关于anki使用方法的请查看[anki官网](https://apps.ankiweb.net/)
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)
......@@ -214,34 +210,31 @@ Latest updated flashcards (only lists the front page):
- [0365.water-and-jug-problem](./todo/365.water-and-jug-problem.js)
- [Complete Anki Flashcards](./assets/anki/)
- [Collection of String Problem](./todo/str/)
- [anki 卡片 完善](./assets/anki/)
- [字符串类问题汇总](./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 群
![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.)
(由于微信的限制,100个人以上只能邀请加入, 你可以添加我的机器人回复“leetcode”拉你进群)
### Telegram
http://t.me/leetcode_intl
## 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/).
- 如果有想法和创意,请提[issue](https://github.com/azl397985856/leetcode/issues)或者进群提
- 如果想贡献代码,请提[PR](https://github.com/azl397985856/leetcode/pulls)
- 如果需要修改项目中图片,[这里](./assets/drawio/)存放了项目中绘制图的源代码, 大家可以用[draw.io](https://www.draw.io/)打开进行编辑。
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册