From dc8decdba60d2a90fbeb509998ea3f0c85feb0d3 Mon Sep 17 00:00:00 2001 From: billryan Date: Sun, 22 Jul 2018 17:13:10 +0800 Subject: [PATCH 01/49] update contribution --- zh-hans/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/zh-hans/README.md b/zh-hans/README.md index 0fd351ca9..837101141 100644 --- a/zh-hans/README.md +++ b/zh-hans/README.md @@ -170,6 +170,8 @@ Slack 的自助邀请注册功能已启用,访问 Date: Sun, 22 Jul 2018 19:00:29 +0800 Subject: [PATCH 02/49] fix lintcode crawler --- scripts/lintcode.py | 55 +++++++++++++++++++++++++------------- scripts/main.py | 8 +++--- scripts/ojhtml2markdown.py | 12 +++++---- 3 files changed, 48 insertions(+), 27 deletions(-) diff --git a/scripts/lintcode.py b/scripts/lintcode.py index 04d970ef2..3a14a6f3b 100644 --- a/scripts/lintcode.py +++ b/scripts/lintcode.py @@ -2,7 +2,8 @@ # -*- coding: utf-8 -*- -from pyquery import PyQuery as pq +# from pyquery import PyQuery as pq +import requests class Lintcode(object): @@ -11,36 +12,52 @@ def __init__(self): self.driver = None def open_url(self, url): - self.url = url print('open URL: {}'.format(url)) - self.driver = pq(url=url) + url = url.strip('description') + url = url.strip('/') + self.url = url + lintcode_unique_name = url.split('/')[-1] + req_url = 'https://www.lintcode.com/api/problems/detail/?unique_name_or_alias={}&_format=detail'.format(lintcode_unique_name) + self.driver = requests.get(req_url).json() def get_title(self): print('get title...') - title = self.driver('title').text() + title = self.driver['title'] return title def get_description(self): print('get description...') - desc_pq = self.driver('#description') - desc_html = desc_pq('.m-t-lg:nth-child(1)').html() - example_html = desc_pq('.m-t-lg:nth-child(2)').html() - return desc_html + example_html + desc = self.driver['description'] + notice = self.driver['notice'] + clarification = self.driver['clarification'] + example = self.driver['example'] + challenge = self.driver['challenge'] + desc_full = desc + if notice: + desc_full += '\n\n#### Notice\n\n' + notice + if clarification: + desc_full += '\n\n#### Clarification\n\n' + clarification + if example: + desc_full += '\n\n#### Example\n\n' + example + if challenge: + desc_full += '\n\n#### Challenge\n\n' + challenge + + return desc_full def get_difficulty(self): print('get difficulty...') - progress_bar = self.driver('.progress-bar') - original_title = progress_bar.attr('data-original-title') - splits = original_title.strip().split(' ') - difficulty = splits[1] - ac_rate = splits[-1] + mapping = {1: 'Easy', 2: 'Medium', 3: 'Hard'} + difficulty = mapping.get(self.driver['level'], 'unknown') return difficulty def get_tags(self): print('get tags...') tags = [] - for i in self.driver('#tags.tags a'): - tags.append(i.text) + for i in self.driver['tags']: + if i['alias']: + tags.append(i['alias']) + else: + tags.append(i['name']) return tags def _get_related(self): @@ -67,12 +84,12 @@ def get_problem_all(self, url): 'difficulty': difficulty, 'tags': tags, 'description': description, - 'url': self._clean_url(url) + 'url': self.url } return problem if __name__ == '__main__': - url = 'http://www.lintcode.com/en/problem/palindrome-number/' - leetcode = Lintcode() - print(leetcode.get_problem_all(url)) + url = 'https://www.lintcode.com/problem/topological-sorting' + lintcode = Lintcode() + print(lintcode.get_problem_all(url)) diff --git a/scripts/main.py b/scripts/main.py index 440ea8dfd..bded7deb3 100644 --- a/scripts/main.py +++ b/scripts/main.py @@ -40,14 +40,16 @@ def curr_time(): problem_md = '' problem_slug = '' xxxcode = None + convert_desc = True if raw_url.startswith('https://leetcode'): xxxcode = Leetcode() - elif raw_url.startswith('http://www.lintcode.com'): + elif raw_url.startswith('https://www.lintcode.com'): xxxcode = Lintcode() + convert_desc = False problem = xxxcode.get_problem_all(raw_url) problem_slug = slugify(problem['title'], separator="_") - problem_md = problem2md(problem) - + problem_md = problem2md(problem, convert_desc) + if args.dir: post_dir = os.path.join(ROOTDIR, args.dir) post_fn = os.path.join(post_dir, problem_slug + '.md') diff --git a/scripts/ojhtml2markdown.py b/scripts/ojhtml2markdown.py index b9904745f..e07d48633 100644 --- a/scripts/ojhtml2markdown.py +++ b/scripts/ojhtml2markdown.py @@ -26,21 +26,21 @@ def content(self): def leet_lint_url(url): problem_slug = url.strip('/').split('/')[-1] leetcode_url = 'https://leetcode.com/problems/{}/'.format(problem_slug) - lintcode_url = 'http://www.lintcode.com/en/problem/{}/'.format(problem_slug) + lintcode_url = 'https://www.lintcode.com/problem/{}/'.format(problem_slug) urls = {} for url in [leetcode_url, lintcode_url]: response = requests.head(url) if response.status_code != 404: if url.startswith('https://leetcode'): urls['leetcode'] = url - elif url.startswith('http://www.lintcode'): + elif url.startswith('https://www.lintcode'): urls['lintcode'] = url else: print('cannot find url with: {}'.format(url)) return urls -def problem2md(problem): +def problem2md(problem, convert_desc=True): metadata = { 'title': problem['title'], 'difficulty': problem['difficulty'] @@ -49,8 +49,10 @@ def problem2md(problem): metadata['tags'] = problem['tags'] description = problem['description'] - h = html2text.HTML2Text() - description_md = h.handle(description) + description_md = description + if convert_desc: + h = html2text.HTML2Text() + description_md = h.handle(description) lines = [] lines.append('# ' + problem['title'] + '\n') From 4f3da2fd6e2b4dd35a3286a73e2f84582cead510 Mon Sep 17 00:00:00 2001 From: billryan Date: Sun, 22 Jul 2018 23:32:04 +0800 Subject: [PATCH 03/49] add CNAME --- CNAME | 1 + 1 file changed, 1 insertion(+) create mode 100644 CNAME diff --git a/CNAME b/CNAME new file mode 100644 index 000000000..6d8a4f13a --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +algorithm.yuanbin.me From 9a1a38cc2b01d0ee45b11f88bd476b9f5e86db78 Mon Sep 17 00:00:00 2001 From: billryan Date: Mon, 23 Jul 2018 00:28:20 +0800 Subject: [PATCH 04/49] update topological sorting --- shared-files/images/topological-sorting.jpeg | Bin 0 -> 7275 bytes zh-hans/graph/topological_sorting.md | 132 +++++++++++++++---- 2 files changed, 107 insertions(+), 25 deletions(-) create mode 100644 shared-files/images/topological-sorting.jpeg diff --git a/shared-files/images/topological-sorting.jpeg b/shared-files/images/topological-sorting.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..87e4c5cbb8248e17320a59c1e636384c57abb669 GIT binary patch literal 7275 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

@Ov%86@%-4 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 bE92AB@F&A@uruJp|6d08-#J~#?c)CdrVM$~ literal 0 HcmV?d00001 diff --git a/zh-hans/graph/topological_sorting.md b/zh-hans/graph/topological_sorting.md index 079b59e64..62cbce409 100644 --- a/zh-hans/graph/topological_sorting.md +++ b/zh-hans/graph/topological_sorting.md @@ -1,42 +1,67 @@ +--- +difficulty: Medium +tags: +- Geeks for Geeks +- Topological Sort +- LintCode Copyright +- BFS +- DFS +title: Topological Sorting +--- + # Topological Sorting -## Question +## Problem -- lintcode: [(127) Topological Sorting](http://www.lintcode.com/en/problem/topological-sorting/) -- [Topological Sorting - GeeksforGeeks](http://www.geeksforgeeks.org/topological-sorting/) +### Metadata + +- tags: Geeks for Geeks, Topological Sort, LintCode Copyright, BFS, DFS +- difficulty: Medium +- source(lintcode): +- source(geeksforgeeks): + +### Description -``` Given an directed graph, a topological order of the graph nodes is defined as follow: -For each directed edge A -> B in graph, A must before B in the order list. -The first node in the order can be any node in the graph with no nodes direct to it. +- For each directed edge `A -> B` in graph, A must before B in the order list. +- The first node in the order can be any node in the graph with no nodes direct to it. + Find any topological order for the given graph. -``` -Example -For graph as follow: -![Topological Sorting](../../shared-files/images/topological_sorting.jpeg) +#### Notice + +You can assume that there is at least one topological order in the graph. + +#### Clarification + +[Learn more about representation of graphs](http://www.lintcode.com/help/graph "Graph example") + +#### Example + +For graph as follow: + +![picture](../../shared-files/images/topological-sorting.jpeg) + -``` The topological order can be: -[0, 1, 2, 3, 4, 5] -[0, 2, 3, 1, 5, 4] -... -Note -You can assume that there is at least one topological order in the graph. + [0, 1, 2, 3, 4, 5] + [0, 2, 3, 1, 5, 4] + ... + +#### Challenge -Challenge Can you do it in both BFS and DFS? -``` -## 题解1 - DFS and BFS +## 题解1 - DFS -图搜索相关的问题较为常见的解法是用 DFS,这里结合 BFS 进行求解,分为三步走: +图搜索相关的问题较为常见的解法是用 DFS 或者 BFS,这里我们先分析一下拓扑排序的核心要求:对于有向边 `A -> B`, A 需要出现在 B 之前。用过 Linux/MAC 的人对包管理工具肯定不陌生,如 apt-get, yum, pacman, brew 等,安装一项软件时往往要先将其所有依赖的软件包安装完。这个需求实现起来大概可以分为如下几个步骤: -1. 统计各定点的入度——只需统计节点在邻接列表中出现的次数即可知。 -2. 遍历图中各节点,找到入度为0的节点。 -3. 对入度为0的节点进行递归 DFS,将节点加入到最终返回结果中。 +1. 找出不依赖其他顶点的顶点,即入度为0,这一定是符合要求的某一个拓扑排序的第一个顶点。 +2. 在图中去掉入度为 0 的顶点,并重新计算一次各顶点的入度,递归调用邻居节点,迭代第一步。 + +在具体实现中,考虑到每次取出某个顶点时重新计算其余顶点的入度存在较多重复计算,我们可以将计算量缩减到只计算入度有变化的部分顶点,即所取出顶点的邻居节点。 ### C++ @@ -105,9 +130,65 @@ private: }; ``` +### Java + +```java +/** + * Definition for Directed graph. + * class DirectedGraphNode { + * int label; + * ArrayList neighbors; + * DirectedGraphNode(int x) { label = x; neighbors = new ArrayList(); } + * }; + */ + +public class Solution { + /* + * @param graph: A list of Directed graph node + * @return: Any topological order for the given graph. + */ + public ArrayList topSort(ArrayList graph) { + ArrayList sorting = new ArrayList<>(); + Map inDegreeMap = getIndegreeMap(graph); + for (Map.Entry degreeMap : inDegreeMap.entrySet()) { + if (degreeMap.getValue() == 0) { + dfs(inDegreeMap, degreeMap.getKey(), sorting); + } + } + + return sorting; + } + + private Map getIndegreeMap(ArrayList graph) { + Map inDegreeMap = new HashMap<>(); + for (DirectedGraphNode node : graph) { + inDegreeMap.putIfAbsent(node, 0); + for (DirectedGraphNode neighbor : node.neighbors) { + inDegreeMap.putIfAbsent(neighbor, 0); + inDegreeMap.put(neighbor, inDegreeMap.get(neighbor) + 1); + } + } + + return inDegreeMap; + } + + private void dfs(Map inDegreeMap, DirectedGraphNode node, List result) { + + result.add(node); + inDegreeMap.put(node, inDegreeMap.get(node) - 1); + for (DirectedGraphNode neighbor : node.neighbors) { + inDegreeMap.put(neighbor, inDegreeMap.get(neighbor) - 1); + if (inDegreeMap.get(neighbor) == 0) { + dfs(inDegreeMap, neighbor, result); + } + } + } +} +``` + ### 源码分析 -C++中使用 unordered_map 可获得更高的性能,私有方法中使用引用传值。 +C++中使用 unordered_map 可获得更高的性能,私有方法中使用引用传值。在 `dfs` 递归的过程中,将节点加入到最终结果后需要对其入度减一,否则在上层循环邻居节点时会有重复。这里的 `dfs` 是伪 DFS, 因为这里只处理入度为 0 的节点。 ### 复杂度分析 @@ -121,7 +202,7 @@ C++中使用 unordered_map 可获得更高的性能,私有方法中使用引 ## 题解2 - BFS -拓扑排序除了可用 DFS 求解外,也可使用 BFS, 具体方法为: +拓扑排序除了可用 DFS 求解外,也可使用 BFS, 相比题解1使用递归获取入度为 0 的节点,我们还可以通过队列获取非邻居节点的其他入度为 0 的节点。具体方法为: 1. 获得图中各节点的入度。 2. BFS 首先遍历求得入度数为0的节点,入队,便于下一次 BFS。 @@ -212,3 +293,4 @@ C++中在判断入度是否为0时将对 map 产生副作用,在求入度数 ## Reference - [Topological Sorting 参考程序 Java/C++/Python](http://www.jiuzhang.com/solutions/topological-sorting/) +- [Topological Sorting - GeeksforGeeks](https://www.geeksforgeeks.org/topological-sorting/) From 2ae06ed485e9a2f2ff03c3068d032f2705de5fa8 Mon Sep 17 00:00:00 2001 From: billryan Date: Tue, 24 Jul 2018 00:00:54 +0800 Subject: [PATCH 05/49] update solution with pure dfs(geeksforgeeks) --- zh-hans/graph/topological_sorting.md | 159 ++++++++++++++++++++++++--- 1 file changed, 141 insertions(+), 18 deletions(-) diff --git a/zh-hans/graph/topological_sorting.md b/zh-hans/graph/topological_sorting.md index 62cbce409..cfba6f2af 100644 --- a/zh-hans/graph/topological_sorting.md +++ b/zh-hans/graph/topological_sorting.md @@ -54,9 +54,9 @@ The topological order can be: Can you do it in both BFS and DFS? -## 题解1 - DFS +## 题解1 - DFS(统计节点入度数) -图搜索相关的问题较为常见的解法是用 DFS 或者 BFS,这里我们先分析一下拓扑排序的核心要求:对于有向边 `A -> B`, A 需要出现在 B 之前。用过 Linux/MAC 的人对包管理工具肯定不陌生,如 apt-get, yum, pacman, brew 等,安装一项软件时往往要先将其所有依赖的软件包安装完。这个需求实现起来大概可以分为如下几个步骤: +图搜索相关的问题较为常见的解法是用 DFS 或者 BFS,这里我们先分析一下拓扑排序的核心要求:对于有向边 `A -> B`, A 需要出现在 B 之前。用过 Linux/MAC 的人对包管理工具肯定不陌生,如 apt-get, yum, pacman, brew 等,安装一项软件时往往要先将其所有依赖的软件包安装完,拓扑排序解决的就是此类问题。这个需求实现起来大概可以分为如下几个步骤: 1. 找出不依赖其他顶点的顶点,即入度为0,这一定是符合要求的某一个拓扑排序的第一个顶点。 2. 在图中去掉入度为 0 的顶点,并重新计算一次各顶点的入度,递归调用邻居节点,迭代第一步。 @@ -164,8 +164,7 @@ public class Solution { for (DirectedGraphNode node : graph) { inDegreeMap.putIfAbsent(node, 0); for (DirectedGraphNode neighbor : node.neighbors) { - inDegreeMap.putIfAbsent(neighbor, 0); - inDegreeMap.put(neighbor, inDegreeMap.get(neighbor) + 1); + inDegreeMap.put(neighbor, inDegreeMap.getOrDefault(neighbor, 0) + 1); } } @@ -188,25 +187,22 @@ public class Solution { ### 源码分析 -C++中使用 unordered_map 可获得更高的性能,私有方法中使用引用传值。在 `dfs` 递归的过程中,将节点加入到最终结果后需要对其入度减一,否则在上层循环邻居节点时会有重复。这里的 `dfs` 是伪 DFS, 因为这里只处理入度为 0 的节点。 +C++中使用 unordered_map 可获得更高的性能,私有方法中使用引用传值。在 `dfs` 递归的过程中,将节点加入到最终结果后需要对其入度减一,否则在上层循环邻居节点时会有重复。这里的 `dfs` 是剪枝过后的 DFS, 因为这里只处理入度为 0 的节点。另外在第一次求各节点的入度数时,需要先初始化为0,否则会漏掉部分入度为0的节点。 ### 复杂度分析 以 V 表示顶点数,E 表示有向图中边的条数。 首先获得节点的入度数,时间复杂度为 $$O(V+E)$$, 使用了哈希表存储,空间复杂度为 $$O(V)$$. 遍历图求得入度为0的节点,时间复杂度为 $$O(V)$$. 仅在入度为0时调用 DFS,故时间复杂度为 $$O(V+E)$$. - -需要注意的是这里的 DFS 不是纯 DFS,使用了 BFS 的思想进行了优化,否则一个节点将被遍历多次,时间复杂度可能恶化为指数级别。 - 综上,时间复杂度近似为 $$O(V+E)$$, 空间复杂度为 $$O(V)$$. ## 题解2 - BFS -拓扑排序除了可用 DFS 求解外,也可使用 BFS, 相比题解1使用递归获取入度为 0 的节点,我们还可以通过队列获取非邻居节点的其他入度为 0 的节点。具体方法为: +拓扑排序除了可用 DFS 求解外,也可使用 BFS, 相比题解1使用递归顺腾摸瓜获取入度为 0 的节点,我们还可以通过队列获取非邻居节点的其他入度为 0 的节点,即 BFS。具体方法为: 1. 获得图中各节点的入度。 -2. BFS 首先遍历求得入度数为0的节点,入队,便于下一次 BFS。 -3. 队列不为空时,弹出队顶元素并对其邻接节点进行 BFS,将入度为0的节点加入到最终结果和队列中,重复此过程直至队列为空。 +2. BFS 首先遍历求得所有入度数为0的节点,入队,便于下一次 BFS。 +3. 队列不为空时,弹出队顶元素并对其邻接节点入度数减一,将入度为0的节点加入到队列中,重复此过程直至队列为空。 ### C++ @@ -228,24 +224,24 @@ public: vector topSort(vector graph) { vector result; if (graph.size() == 0) return result; - + map indegree; // get indegree of all DirectedGraphNode indeg(graph, indegree); queue q; // bfs bfs(graph, indegree, q, result); - + return result; } - + private: /** get indegree of all DirectedGraphNode * */ void indeg(vector &graph, map &indegree) { - + for (int i = 0; i < graph.size(); ++i) { for (int j = 0; j < graph[i]->neighbors.size(); j++) { if (indegree.find(graph[i]->neighbors[j]) == indegree.end()) { @@ -256,7 +252,7 @@ private: } } } - + void bfs(vector &graph, map &indegree, queue &q, vector &ret) { @@ -266,7 +262,7 @@ private: q.push(graph[i]); } } - + while (!q.empty()) { DirectedGraphNode *cur = q.front(); q.pop(); @@ -282,14 +278,141 @@ private: }; ``` +### Java + +```java +/** + * Definition for Directed graph. + * class DirectedGraphNode { + * int label; + * ArrayList neighbors; + * DirectedGraphNode(int x) { label = x; neighbors = new ArrayList(); } + * }; + */ + +public class Solution { + /* + * @param graph: A list of Directed graph node + * @return: Any topological order for the given graph. + */ + public ArrayList topSort(ArrayList graph) { + ArrayList result = new ArrayList(); + + if (graph == null || graph.size() == 0) return result; + + Queue queue = new LinkedList<>(); + Map map = getIndegreeMap(graph); + for (Map.Entry entry : map.entrySet()) { + if (entry.getValue() == 0) { + queue.offer(entry.getKey()); + } + } + + bfs(queue, map, result); + + return result; + } + + private Map getIndegreeMap(ArrayList graph) { + Map map = new HashMap<>(); + + for (DirectedGraphNode node : graph) { + map.putIfAbsent(node, 0); + for (DirectedGraphNode neighbor : node.neighbors) { + map.put(neighbor, map.getOrDefault(neighbor, 0) + 1); + } + } + + return map; + } + + private void bfs(Queue queue, Map map, ArrayList result) { + + while (!queue.isEmpty()) { + DirectedGraphNode node = queue.poll(); + result.add(node); + for (DirectedGraphNode neighbor : node.neighbors) { + map.put(neighbor, map.get(neighbor) - 1); + if (map.get(neighbor) == 0) { + queue.offer(neighbor); + } + } + } + } +} +``` + ### 源码分析 -C++中在判断入度是否为0时将对 map 产生副作用,在求入度数时只有入度数大于等于1才会出现在 map 中,故不在 map 中时直接调用 indegree 方法将产生新的键值对,初始值为0,恰好满足此题需求。 +C++中在判断入度是否为0时将对 map 产生副作用,在求入度数时只有入度数大于等于1才会出现在 map 中,故不在 map 中时直接调用 indegree 方法将产生新的键值对,初始值为0,恰好满足此题需求。与 DFS 的解法不同,在 bfs 的实现中可以不对已加入到最终结果的节点入度数减一,因为没有上一层循环了。 ### 复杂度分析 同题解1 的分析,时间复杂度为 $$O(V+E)$$, 空间复杂度为 $$O(V)$$. +## 题解3 - DFS(递归保证局部拓扑排序) + +与题解1和题解2中依赖先计算入度数不同,这种解法可以不必事先计算入度数,从图中任意一个节点递归,直至将其所有邻接节点入栈后再对自己入栈,这样可保证有依赖的节点一定在其父节点后面出栈,遍历完图中所有节点即可得最终有效结果。这里需要借助辅助标记 Set 或者数组。具体过程可参考 GeeksforGeeks 中的视频讲解。 + +### Java + +```java +/** + * Definition for Directed graph. + * class DirectedGraphNode { + * int label; + * ArrayList neighbors; + * DirectedGraphNode(int x) { label = x; neighbors = new ArrayList(); } + * }; + */ + +public class Solution { + /* + * @param graph: A list of Directed graph node + * @return: Any topological order for the given graph. + */ + public ArrayList topSort(ArrayList graph) { + ArrayList result = new ArrayList<>(); + + if (graph == null || graph.size() == 0) return result; + + Set visited = new HashSet<>(); + Deque stack = new ArrayDeque<>(); + + for (DirectedGraphNode node : graph) { + dfs(node, visited, stack); + } + + while (!stack.isEmpty()) { + result.add(stack.pop()); + } + + return result; + } + + private void dfs(DirectedGraphNode root, + Set visited, + Deque stack) { + + if (!visited.contains(root)) { + visited.add(root); + for (DirectedGraphNode neighbor : root.neighbors) { + dfs(neighbor, visited, stack); + } + stack.offerFirst(root); + } + } +} +``` + +### 源码分析 + +注意 Java 中栈 Stack 的使用即可,基础数据结构小节中有解析。 + +### 复杂度分析 + +同题解1 的分析,遍历所有节点所有边,时间复杂度为 $$O(V+E)$$, 空间复杂度为 $$O(V)$$. + ## Reference - [Topological Sorting 参考程序 Java/C++/Python](http://www.jiuzhang.com/solutions/topological-sorting/) From 194dfd27b7a451aa7fd9887437556d048f38a759 Mon Sep 17 00:00:00 2001 From: billryan Date: Tue, 24 Jul 2018 00:24:20 +0800 Subject: [PATCH 06/49] make Python2/Python3 compatible --- .../basics_data_structure/huffman_compression.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/zh-hans/basics_data_structure/huffman_compression.md b/zh-hans/basics_data_structure/huffman_compression.md index 28290d960..7a9a48f41 100644 --- a/zh-hans/basics_data_structure/huffman_compression.md +++ b/zh-hans/basics_data_structure/huffman_compression.md @@ -58,7 +58,7 @@ class SimpleCompression: def uncompress(self, bits): string = '' - for i in xrange(0, len(bits), self.bit_len): + for i in range(0, len(bits), self.bit_len): string += self.b2s[bits[i:i + self.bit_len]] return string @@ -71,8 +71,14 @@ class HuffmanCompression: self.coding = '' self.left = self.right = None - def __cmp__(self, other): - return self.val - other.val + def __eq__(self, other): + return self.val == other.val + + def __lt__(self, other): + return self.val < other.val + + def __gt__(self, other): + return self.val > other.val def __init__(self, string): self.string = string @@ -169,6 +175,4 @@ Huffman Compression-compress rate: 45% 简单压缩: 根据字符串出现的字符,将ASCII替换成更短的表示形式 霍夫曼压缩: 根据字符串出现频率,构建Trie树, 对每个tree node进行定义,使得频率越高的字符离root节点越近 - - 有关霍夫曼编码的具体步骤可参考 [Huffman 编码压缩算法 | 酷 壳 - CoolShell.cn](http://coolshell.cn/articles/7459.html) 和 [霍夫曼编码 - 维基百科,自由的百科全书](http://zh.wikipedia.org/wiki/%E9%9C%8D%E5%A4%AB%E6%9B%BC%E7%BC%96%E7%A0%81),清晰易懂。 From 866bc1091a828ec53e59c218cd72ceba0e594dd3 Mon Sep 17 00:00:00 2001 From: billryan Date: Wed, 25 Jul 2018 01:07:06 +0800 Subject: [PATCH 07/49] ignore release --- .travis.yml | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/.travis.yml b/.travis.yml index a38e851fa..6aacdf5e8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -56,7 +56,6 @@ script: before_deploy: - tar czvf book_html.tar.gz _book/ - - git tag "$(date +'%Y%m%d_%H%M%S')" deploy: - provider: pages @@ -68,23 +67,6 @@ deploy: on: branch: master target-branch: gh-pages - - provider: releases - api_key: - secure: B/dqY0sC9I0Uu5o3HVHouX/mfLTUH/dt16IsBdm+sZQW+/YeTUTGwpx+Vl5lXpMhUoxrh60Qxt0KbnqvPqAxsPXGMH2Mhl1E5lgvMYViOGQyx9JJuuba+GWOzD+r2+XOUsqBzOCUhvC7iZbuGiWYvV2+4noAmAoKa1pO1j2yxiI= - file: - - book_html.tar.gz - - book_en.epub - - book_en.mobi - - book_en.pdf - - book_zh-hans.epub - - book_zh-hans.mobi - - book_zh-hans.pdf - - book_zh-tw.epub - - book_zh-tw.mobi - - book_zh-tw.pdf - skip_cleanup: true - on: - repo: billryan/algorithm-exercise after_success: - ls -lh From 750174bd725bcaf9dcf8a044b14183b187a3eacc Mon Sep 17 00:00:00 2001 From: billryan Date: Wed, 25 Jul 2018 01:07:27 +0800 Subject: [PATCH 08/49] fix none new parameter --- scripts/main.py | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/scripts/main.py b/scripts/main.py index bded7deb3..04a422297 100644 --- a/scripts/main.py +++ b/scripts/main.py @@ -11,6 +11,7 @@ from util import par_dir, mkdir_p from leetcode import Leetcode from lintcode import Lintcode +from summary import update_summary from ojhtml2markdown import problem2md BASEDIR = os.path.abspath(os.path.dirname(__file__)) @@ -36,19 +37,20 @@ def curr_time(): print('Called with arguments: {}'.format(args)) ROOTDIR = par_dir(BASEDIR) - raw_url = args.new - problem_md = '' - problem_slug = '' - xxxcode = None - convert_desc = True - if raw_url.startswith('https://leetcode'): - xxxcode = Leetcode() - elif raw_url.startswith('https://www.lintcode.com'): - xxxcode = Lintcode() - convert_desc = False - problem = xxxcode.get_problem_all(raw_url) - problem_slug = slugify(problem['title'], separator="_") - problem_md = problem2md(problem, convert_desc) + if args.new: + raw_url = args.new + problem_md = '' + problem_slug = '' + xxxcode = None + convert_desc = True + if raw_url.startswith('https://leetcode'): + xxxcode = Leetcode() + elif raw_url.startswith('https://www.lintcode.com'): + xxxcode = Lintcode() + convert_desc = False + problem = xxxcode.get_problem_all(raw_url) + problem_slug = slugify(problem['title'], separator="_") + problem_md = problem2md(problem, convert_desc) if args.dir: post_dir = os.path.join(ROOTDIR, args.dir) From 400343288181cdc2321d616a508b680521e73093 Mon Sep 17 00:00:00 2001 From: billryan Date: Wed, 25 Jul 2018 01:08:07 +0800 Subject: [PATCH 09/49] add task scheduler --- zh-hans/SUMMARY.md | 1 + .../task_scheduler.md | 91 +++++++++++++++++++ 2 files changed, 92 insertions(+) create mode 100644 zh-hans/math_and_bit_manipulation/task_scheduler.md diff --git a/zh-hans/SUMMARY.md b/zh-hans/SUMMARY.md index b9ba6515d..c7189863c 100644 --- a/zh-hans/SUMMARY.md +++ b/zh-hans/SUMMARY.md @@ -111,6 +111,7 @@ * [Ugly Number](math_and_bit_manipulation/ugly_number.md) * [Plus One](math_and_bit_manipulation/plus_one.md) * [Palindrome Number](math_and_bit_manipulation/palindrome_number.md) + * [Task Scheduler](math_and_bit_manipulation/task_scheduler.md) * [Linked List](linked_list/README.md) * [Remove Duplicates from Sorted List](linked_list/remove_duplicates_from_sorted_list.md) * [Remove Duplicates from Sorted List II](linked_list/remove_duplicates_from_sorted_list_ii.md) diff --git a/zh-hans/math_and_bit_manipulation/task_scheduler.md b/zh-hans/math_and_bit_manipulation/task_scheduler.md new file mode 100644 index 000000000..73c466ecd --- /dev/null +++ b/zh-hans/math_and_bit_manipulation/task_scheduler.md @@ -0,0 +1,91 @@ +--- +difficulty: Medium +tags: +- Queue +- Greedy +- Facebook +- Array +title: Task Scheduler +--- + +# Task Scheduler + +## Problem + +### Metadata + +- tags: Queue, Greedy, Facebook, Array +- difficulty: Medium +- source(leetcode): +- source(lintcode): + +### Description + +Given a char array representing tasks CPU need to do. It contains capital letters A to Z where different letters represent different tasks.Tasks could be done without original order. Each task could be done in one interval. For each interval, CPU could finish one task or just be idle. + +However, there is a non-negative cooling interval `n` that means between two `same tasks`, there must be at least n intervals that CPU are doing different tasks or just be idle. + +You need to return the `least` number of intervals the CPU will take to finish all the given tasks. + +#### Notice + +1. The number of tasks is in the range `[1, 10000]`. +2. The integer n is in the range `[0, 100]`. + +#### Example + +Given tasks = `['A','A','A','B','B','B']`, n = `2`, return `8`. +``` +Explanation: +A -> B -> idle -> A -> B -> idle -> A -> B. +``` + +## 题解 - 填充空闲时隙 + +TODO 分情况讨论 + +1. 出现频率最高的字符有多个 +2. 以频率最高的字符为分界点,空闲时隙数不够所有字符放满 +3. 空闲时隙数足够所有字符放下 + +### Java + +```java +class Solution { + public int leastInterval(char[] tasks, int n) { + if (tasks == null) return -1; + + int[] map = new int[26]; + for (char c : tasks) { + map[c - 'A']++; + } + Arrays.sort(map); + + int maxFreq = map[25]; + int idleSlots = n * (maxFreq - 1); + for (int i = 24; i >= 0; i--) { + if (map[i] == 0) { + break; + } else if (map[i] == maxFreq) { + idleSlots -= maxFreq - 1; + } else { + idleSlots -= map[i]; + } + } + + return idleSlots > 0 ? idleSlots + tasks.length : tasks.length; + } +} +``` + +### 源码分析 + +此题的技巧性较强,由于出现的字符数仅为 A-Z 这26个字符,而且我们需要先进行排序,这种特殊情形的排序往往不能使用通用排序方法,我们使用数组映射再进行排序。 + +### 复杂度分析 + +空间复杂度 $$O(26)$$ ==> $$O(1)$$, 时间复杂度最坏情况下遍历26个元素,故为 $$O(1)$$. + +## Reference + +[Task Scheduler - Approach #3 Calculating Idle slots](https://leetcode.com/problems/task-scheduler/solution/) \ No newline at end of file From 878171eff9a27720247c297cb9511c10cf3dd931 Mon Sep 17 00:00:00 2001 From: billryan Date: Fri, 27 Jul 2018 00:32:54 +0800 Subject: [PATCH 10/49] add java solution --- .../remove_nth_node_from_end_of_list.md | 138 +++++++++--------- 1 file changed, 71 insertions(+), 67 deletions(-) diff --git a/zh-hans/linked_list/remove_nth_node_from_end_of_list.md b/zh-hans/linked_list/remove_nth_node_from_end_of_list.md index d2f0ba840..d5a205058 100644 --- a/zh-hans/linked_list/remove_nth_node_from_end_of_list.md +++ b/zh-hans/linked_list/remove_nth_node_from_end_of_list.md @@ -1,88 +1,49 @@ +--- +difficulty: Easy +tags: +- Linked List +- Two Pointers +title: Remove Nth Node From End of List +--- + # Remove Nth Node From End of List -## Question +## Problem -- lintcode: [(174) Remove Nth Node From End of List](http://www.lintcode.com/en/problem/remove-nth-node-from-end-of-list/) +### Metadata -``` -Given a linked list, remove the nth node from the end of list and return its head. +- tags: Linked List, Two Pointers +- difficulty: Easy +- source(lintcode): +- source(leetcode): -Note -The minimum number of nodes in list is n. +### Description -Example -Given linked list: 1->2->3->4->5->null, and n = 2. +Given a linked list, remove the nth node from the end of list and return its head. -After removing the second node from the end, the linked list becomes 1->2->3->5->null. -Challenge -O(n) time -``` +#### Notice -## 题解 +The minimum number of nodes in list is *n*. -简单题, -使用快慢指针解决此题,需要注意最后删除的是否为头节点。让快指针先走`n`步,直至快指针走到终点,找到需要删除节点之前的一个节点,改变`node->next`域即可。 +#### Example -### C++ +Given linked list: `1->2->3->4->5->null`, and *n* = `2`. -```c++ -/** - * Definition of ListNode - * class ListNode { - * public: - * int val; - * ListNode *next; - * ListNode(int val) { - * this->val = val; - * this->next = NULL; - * } - * } - */ -class Solution { -public: - /** - * @param head: The first node of linked list. - * @param n: An integer. - * @return: The head of linked list. - */ - ListNode *removeNthFromEnd(ListNode *head, int n) { - if (NULL == head || n < 0) { - return NULL; - } +After removing the second node from the end, the linked list becomes `1->2->3->5->null`. - ListNode *preN = head; - ListNode *tail = head; - // slow fast pointer - int index = 0; - while (index < n) { - if (NULL == tail) { - return NULL; - } - tail = tail->next; - ++index; - } - if (NULL == tail) { - return head->next; - } +#### Challenge - while (tail->next) { - tail = tail->next; - preN = preN->next; - } - preN->next = preN->next->next; +Can you do it without getting the length of the linked list? - return head; - } -}; -``` +## 题解 -以上代码单独判断了是否需要删除头节点的情况,在遇到头节点不确定的情况下,引入`dummy`节点将会使代码更加优雅,改进的代码如下。 +简单题,使用快慢指针解决此题,需要注意最后删除的是否为头节点。让快指针先走`n`步,直至快指针走到终点,找到需要删除节点之前的一个节点,改变`node->next`域即可。见基础数据结构部分的链表解析。 -### C++ dummy node +### C++ -```c++ +```cpp /** * Definition of ListNode * class ListNode { @@ -129,6 +90,49 @@ public: }; ``` +### Java + +```java +/** + * Definition for singly-linked list. + * public class ListNode { + * int val; + * ListNode next; + * ListNode(int x) { val = x; } + * } + */ +class Solution { + public ListNode removeNthFromEnd(ListNode head, int n) { + if (head == nul) return head; + + ListNode dummy = new ListNode(0); + dummy.next = head; + ListNode fast = head; + ListNode slow = dummy; + for (int i = 0; i < n; i++) { + fast = fast.next; + } + + while(fast != null) { + fast = fast.next; + slow = slow.next; + } + + // gc friendly + // ListNode toBeDeleted = slow.next; + slow.next = slow.next.next; + // toBeDeleted.next = null; + // toBeDeleted = null; + + return dummy.next; + } +} +``` + ### 源码分析 -引入`dummy`节点后画个图分析下就能确定`head`和`preDel`的转移关系了。 +引入`dummy`节点后画个图分析下就能确定`head`和`preDel`的转移关系了。 注意 while 循环中和快慢指针初始化的关系,否则容易在顺序上错一。 + +### 复杂度分析 + +极限情况下遍历两遍链表,时间复杂度为 $$O(n)$$. From 430998b809872ebb50031821a2bb40b50a590130 Mon Sep 17 00:00:00 2001 From: billryan Date: Sat, 28 Jul 2018 00:31:19 +0800 Subject: [PATCH 11/49] update problem description --- .../search_in_rotated_sorted_array.md | 31 ++++++++++++++----- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/zh-hans/binary_search/search_in_rotated_sorted_array.md b/zh-hans/binary_search/search_in_rotated_sorted_array.md index 4d93bdbca..5763cb09b 100644 --- a/zh-hans/binary_search/search_in_rotated_sorted_array.md +++ b/zh-hans/binary_search/search_in_rotated_sorted_array.md @@ -1,18 +1,35 @@ +--- +difficulty: Medium +tags: +- Binary Search +- LinkedIn +- Array +- Facebook +- Sorted Array +- Uber +- Microsoft +- Bloomberg +title: Search in Rotated Sorted Array +--- + # Search in Rotated Sorted Array -## Question +## Problem + +### Metadata -- leetcode: [Search in Rotated Sorted Array | LeetCode OJ](https://leetcode.com/problems/search-in-rotated-sorted-array/) -- lintcode: [(62) Search in Rotated Sorted Array](http://www.lintcode.com/en/problem/search-in-rotated-sorted-array/) +- tags: Binary Search, LinkedIn, Array, Facebook, Sorted Array, Uber, Microsoft, Bloomberg +- difficulty: Medium +- source(leetcode): +- source(lintcode): -### Problem Statement +### Description Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., `0 1 2 4 5 6 7` might become `4 5 6 7 0 1 2`). -You are given a target value to search. If found in the array return its -index, otherwise return -1. +You are given a target value to search. If found in the array return its index, otherwise return -1. You may assume no duplicate exists in the array. @@ -26,7 +43,7 @@ For `[4, 5, 1, 2, 3]` and `target=0`, return `-1`. O(logN) time -## 题解 - 找到有序数组 +## 题解 对于旋转数组的分析可使用画图的方法,如下图所示,升序数组经旋转后可能为如下两种形式。 From d70bf39b3cc986793db9579bbe52f0274f7dbc3a Mon Sep 17 00:00:00 2001 From: billryan Date: Sun, 29 Jul 2018 19:25:46 +0800 Subject: [PATCH 12/49] update Java implementation --- zh-hans/basics_data_structure/heap.md | 93 +++++++++++++++++++++++++-- 1 file changed, 88 insertions(+), 5 deletions(-) diff --git a/zh-hans/basics_data_structure/heap.md b/zh-hans/basics_data_structure/heap.md index 2b691e04e..cad4b90e2 100644 --- a/zh-hans/basics_data_structure/heap.md +++ b/zh-hans/basics_data_structure/heap.md @@ -1,6 +1,6 @@ # Heap - 堆 -一般情况下,堆通常指的是**二叉堆**,**二叉堆**是一个近似**完全二叉树**的数据结构,**即披着二叉树羊皮的数组,**故使用数组来实现较为便利。子结点的键值或索引总是小于(或者大于)它的父节点,且每个节点的左右子树又是一个**二叉堆**(大根堆或者小根堆)。根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。**常被用作实现优先队列。** +一般情况下,堆通常指的是**二叉堆**,**二叉堆**是一个近似**完全二叉树**的数据结构,但由于对二叉树平衡及插入/删除操作较为麻烦,二叉堆实际上使用数组来实现。即物理结构为数组,逻辑结构为完全二叉树。子结点的键值或索引总是小于(或者大于)它的父节点,且每个节点的左右子树又是一个**二叉堆**(大根堆或者小根堆)。根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。**常被用作实现优先队列。** ## 特点 @@ -15,15 +15,19 @@ 以大根堆为例,堆的常用操作如下。 -1. 最大堆调整(Max_Heapify):将堆的末端子节点作调整,使得子节点永远小于父节点 -2. 创建最大堆(Build_Max_Heap):将堆所有数据重新排序 -3. 堆排序(HeapSort):移除位在第一个数据的根节点,并做最大堆调整的递归运算 +1. 最大堆调整:将堆的末端子节点作调整,使得子节点永远小于父节点 +2. 创建最大堆:将堆所有数据重新排序 +3. 堆排序:移除位于第一个数据的根节点,并做最大堆调整的递归运算 其中步骤1是给步骤2和3用的。 ![Heapsort-example](../../shared-files/images/Heapsort-example.gif) -## Python +## 堆排实现 + +使用迭代实现也较为简单,注意索引值初始化和置位即可,尤其是记住最后一个索引的值 last,Java 的实现中 `pop()` 操作同时带有排序功能。 + +### Python ```python class MaxHeap: @@ -71,6 +75,85 @@ class MaxHeap: self._sink(self.heap, 0) return item ``` + +### Java + +```java +/** + * Created by billryan on 29/7/2018. + */ +public class MaxHeap { + private final int MAX_N = 10; + private final int[] heap = new int[MAX_N]; + private int last = 0; + + public int getLast() { + return last; + } + + public void push(int x) { + int i = last++; + while (i > 0) { + int p = (i - 1) / 2; + if (heap[p] >= x) { + break; + } + heap[i] = heap[p]; + i = p; + } + heap[i] = x; + } + + public int pop() { + int result = heap[0]; + int x = heap[--last]; + heap[last] = result; + + int i = 0; + while (2 * i + 1 < last) { + int left = 2 * i + 1, right = 2 * i + 2, swap = left; + if (right < last && heap[left] < heap[right]) { + swap = right; + } + if (heap[swap] <= x) { + break; + } + + heap[i] = heap[swap]; + i = swap; + } + heap[i] = x; + + return result; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("heap array: "); + for (int i : heap) { + sb.append(String.format("%d, ", i)); + } + return sb.toString(); + } + + public static void main(String[] args) { + MaxHeap maxHeap = new MaxHeap(); + + int[] array = new int[]{6, 5, 3, 1, 8, 7, 2, 4, 10, 9}; + for (int i : array) { + maxHeap.push(i); + System.out.println(maxHeap); + } + + for (int i = maxHeap.getLast() - 1; i >= 0; i--) { + System.out.println("pop max heap value: " + maxHeap.pop()); + System.out.println(maxHeap); + } + } +} +``` + ## C++ ```c++ #ifndef HEAP_H From 89cc0d9a657942754f7fe95368777930ca6ab674 Mon Sep 17 00:00:00 2001 From: billryan Date: Sun, 29 Jul 2018 23:18:17 +0800 Subject: [PATCH 13/49] add topk example with priorityqueue --- zh-hans/basics_data_structure/heap.md | 33 +++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/zh-hans/basics_data_structure/heap.md b/zh-hans/basics_data_structure/heap.md index cad4b90e2..6e9cdcd0a 100644 --- a/zh-hans/basics_data_structure/heap.md +++ b/zh-hans/basics_data_structure/heap.md @@ -23,9 +23,9 @@ ![Heapsort-example](../../shared-files/images/Heapsort-example.gif) -## 堆排实现 +## 堆实现 -使用迭代实现也较为简单,注意索引值初始化和置位即可,尤其是记住最后一个索引的值 last,Java 的实现中 `pop()` 操作同时带有排序功能。 +使用迭代实现也较为简单,注意索引值初始化和置位即可,尤其是记住最后一个索引的值 last,Java 的实现中 `poll()` 操作同时带有排序功能。 ### Python @@ -79,6 +79,8 @@ class MaxHeap: ### Java ```java +import java.util.*; + /** * Created by billryan on 29/7/2018. */ @@ -130,10 +132,14 @@ public class MaxHeap { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("heap array: "); - for (int i : heap) { - sb.append(String.format("%d, ", i)); + sb.append("maxHeap: ["); + for (int i = 0; i < last - 1; i++) { + sb.append(String.format("%d, ", heap[i])); + } + if (last > 0) { + sb.append(heap[last - 1]); } + sb.append("]"); return sb.toString(); } @@ -150,6 +156,23 @@ public class MaxHeap { System.out.println("pop max heap value: " + maxHeap.pop()); System.out.println(maxHeap); } + + PriorityQueue pq = new PriorityQueue(10, Collections.reverseOrder()); + for (int i : array) { + pq.offer(i); + System.out.println(pq); + } + + // Top K problem + int k = 5; + for (int i = 0; i < k; i++) { + Integer topk = pq.poll(); + if (topk != null) { + System.out.println("top " + (i + 1) + ": " + topk); + } else { + System.out.println("poll null value!!!"); + } + } } } ``` From 92bc6c1cf2ade0cfe9936cbaf5b5f249d47c54dc Mon Sep 17 00:00:00 2001 From: yuanzhongyan Date: Sat, 4 Aug 2018 17:12:21 +0800 Subject: [PATCH 14/49] [en] Add Reverse Linked List --- en/SUMMARY.md | 1 - en/linked_list/README.md | 13 + en/linked_list/reverse_linked_list.md | 256 ++++++++++++++++++ .../images/linked_list_summary_en.png | Bin 0 -> 250022 bytes 4 files changed, 269 insertions(+), 1 deletion(-) create mode 100644 en/linked_list/README.md create mode 100644 en/linked_list/reverse_linked_list.md create mode 100644 shared-files/images/linked_list_summary_en.png diff --git a/en/SUMMARY.md b/en/SUMMARY.md index 5bc49adb5..eef5ac755 100644 --- a/en/SUMMARY.md +++ b/en/SUMMARY.md @@ -259,4 +259,3 @@ * [System Architecture](appendix_ii_system_design/system_architecture.md) * [Scalability](appendix_ii_system_design/scalability.md) * [Tags](tags.md) - diff --git a/en/linked_list/README.md b/en/linked_list/README.md new file mode 100644 index 000000000..3307474bd --- /dev/null +++ b/en/linked_list/README.md @@ -0,0 +1,13 @@ +# Linked List + +This section includes common operations on linked list, such as deletion, insertion, and combination. + +Frequently made mistakes: + +- Not updating runner-node when traversing linked list +- Not recording head node before traversing +- returning incorrect pointer to node + +The image below serves as a summarization. + +![Linked List](../../shared-files/images/linked_list_summary_en.png) diff --git a/en/linked_list/reverse_linked_list.md b/en/linked_list/reverse_linked_list.md new file mode 100644 index 000000000..82729b7f1 --- /dev/null +++ b/en/linked_list/reverse_linked_list.md @@ -0,0 +1,256 @@ +# Reverse Linked List + +## Question + +- leetcode: [Reverse Linked List | LeetCode OJ](https://leetcode.com/problems/reverse-linked-list/) +- lintcode: [(35) Reverse Linked List](http://www.lintcode.com/en/problem/reverse-linked-list/) + +``` +Reverse a linked list. + +Example +For linked list 1->2->3, the reversed linked list is 3->2->1 + +Challenge +Reverse it in-place and in one-pass +``` + +## Solution1 - Non-recursively + +It would be much easier to reverse an array than a linked list, since array supports random access with index, while singly linked list can ONLY be operated through its head node. So an approach without index is required. + +Think about how can '1->2->3' become '3->2->1'. Starting from '1', we should turn '1->2' into '2->1', then '2->3' into '3->2', and so on. The key is how to swap two adjacent nodes. + +``` +temp = head -> next; +head->next = prev; +prev = head; +head = temp; +``` + +The above code maintains two pointer, `prev` and `head`, and keeps record of next node before swapping. More detailed analysis: + +![Reverse Linked List](../../shared-files/images/reverse_linked_list_i.jpg) + +1. Keep record of next node +2. change `head->next` to `prev` +3. update `prev` with `head`, to keep moving forward +4. update `head` with the record in step 1, for the sake of next loop + +### Python + +```python +# Definition for singly-linked list. +# class ListNode: +# def __init__(self, x): +# self.val = x +# self.next = None + +class Solution: + # @param {ListNode} head + # @return {ListNode} + def reverseList(self, head): + prev = None + curr = head + while curr is not None: + temp = curr.next + curr.next = prev + prev = curr + curr = temp + # fix head + head = prev + + return head +``` + +### C++ + +```c++ +/** + * Definition for singly-linked list. + * struct ListNode { + * int val; + * ListNode *next; + * ListNode(int x) : val(x), next(NULL) {} + * }; + */ +class Solution { +public: + ListNode* reverse(ListNode* head) { + ListNode *prev = NULL; + ListNode *curr = head; + while (curr != NULL) { + ListNode *temp = curr->next; + curr->next = prev; + prev = curr; + curr = temp; + } + // fix head + head = prev; + + return head; + } +}; +``` + +### Java + +```java +/** + * Definition for singly-linked list. + * public class ListNode { + * int val; + * ListNode next; + * ListNode(int x) { val = x; } + * } + */ +public class Solution { + public ListNode reverseList(ListNode head) { + ListNode prev = null; + ListNode curr = head; + while (curr != null) { + ListNode temp = curr.next; + curr.next = prev; + prev = curr; + curr = temp; + } + // fix head + head = prev; + + return head; + } +} +``` + +### Source Code Analysis + +Already covered in the solution part. One more word, the assignment of `prev` is neat and skilled. + +### Complexity + +Traversing the linked list, so the time complexity is $$O(n)$$. $$O(1)$$ auxiliary space complexity. + +## Solution2 - Recursively + +Three cases when the recursion ceases: + +1. If given linked list is null, just return. +2. If given linked list has only one node, return that node. +3. If given linked list has at least two nodes, pick out the head node and regard the following nodes as a whole entity, swap them, then recurse that entity. + +Be careful when swapping the head node (refer as `Node0`) and head of the following nodes entity (refer as 'Node1' ): First, swap `Node0` and `Node1`; Second, assign `null` to `Node0`'s next (or it would fall into infinite loop, and tail of result list won't point to `null`). + +### Python + +```python +""" +Definition of ListNode + +class ListNode(object): + + def __init__(self, val, next=None): + self.val = val + self.next = next +""" +class Solution: + """ + @param head: The first node of the linked list. + @return: You should return the head of the reversed linked list. + Reverse it in-place. + """ + def reverse(self, head): + # case1: empty list + if head is None: + return head + # case2: only one element list + if head.next is None: + return head + # case3: reverse from the rest after head + newHead = self.reverse(head.next) + # reverse between head and head->next + head.next.next = head + # unlink list from the rest + head.next = None + + return newHead +``` + +### C++ + +```c++ +/** + * Definition of ListNode + * + * class ListNode { + * public: + * int val; + * ListNode *next; + * + * ListNode(int val) { + * this->val = val; + * this->next = NULL; + * } + * } + */ +class Solution { +public: + /** + * @param head: The first node of linked list. + * @return: The new head of reversed linked list. + */ + ListNode *reverse(ListNode *head) { + // case1: empty list + if (head == NULL) return head; + // case2: only one element list + if (head->next == NULL) return head; + // case3: reverse from the rest after head + ListNode *newHead = reverse(head->next); + // reverse between head and head->next + head->next->next = head; + // unlink list from the rest + head->next = NULL; + + return newHead; + } +}; +``` + +### Java + +```java +/** + * Definition for singly-linked list. + * public class ListNode { + * int val; + * ListNode next; + * ListNode(int x) { val = x; } + * } + */ +public class Solution { + public ListNode reverse(ListNode head) { + // case1: empty list + if (head == null) return head; + // case2: only one element list + if (head.next == null) return head; + // case3: reverse from the rest after head + ListNode newHead = reverse(head.next); + // reverse between head and head->next + head.next.next = head; + // unlink list from the rest + head.next = null; + + return newHead; + } +} +``` + +### Source Code Analysis + +case1 and case2 can be combined.What case3 returns is head of reversed list, which means it is exact the same Node (tail of origin linked list) through the recursion. + +### Complexity + +- [全面分析再动手的习惯:链表的反转问题(递归和非递归方式) - 木棉和木槿 - 博客园](http://www.cnblogs.com/kubixuesheng/p/4394509.html) +- [data structures - Reversing a linked list in Java, recursively - Stack Overflow](http://stackoverflow.com/questions/354875/reversing-a-linked-list-in-java-recursively) +- [反转单向链表的四种实现(递归与非递归,C++) | 宁心勉学,慎思笃行](http://ceeji.net/blog/reserve-linked-list-cpp/) +- [iteratively and recursively Java Solution - Leetcode Discuss](https://leetcode.com/discuss/37804/iteratively-and-recursively-java-solution) diff --git a/shared-files/images/linked_list_summary_en.png b/shared-files/images/linked_list_summary_en.png new file mode 100644 index 0000000000000000000000000000000000000000..dcd3b4187132a2b3860549daa77418ac27b1b78d GIT binary patch literal 250022 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%0D4!2>SFh^OsR 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%0DpwPMHpDCh=W4*PsQL4W=2G~A3VQ!=Fa|HV%7Do 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 T6#WP=5RWO#tIHMLvUu`8ZV?YH literal 0 HcmV?d00001 From 7ea0fad39aaab39ad6aee083d811e1bcdf809a69 Mon Sep 17 00:00:00 2001 From: yuanzhongyan Date: Sun, 5 Aug 2018 00:33:05 +0800 Subject: [PATCH 15/49] modify some words --- en/linked_list/README.md | 2 +- en/linked_list/reverse_linked_list.md | 10 +++++----- .../images/linked_list_summary_en.png | Bin 250022 -> 249300 bytes 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/en/linked_list/README.md b/en/linked_list/README.md index 3307474bd..895ae2fc7 100644 --- a/en/linked_list/README.md +++ b/en/linked_list/README.md @@ -1,6 +1,6 @@ # Linked List -This section includes common operations on linked list, such as deletion, insertion, and combination. +This section includes common operations on linked list, such as deletion, insertion, and merging. Frequently made mistakes: diff --git a/en/linked_list/reverse_linked_list.md b/en/linked_list/reverse_linked_list.md index 82729b7f1..385e76b1a 100644 --- a/en/linked_list/reverse_linked_list.md +++ b/en/linked_list/reverse_linked_list.md @@ -2,7 +2,7 @@ ## Question -- leetcode: [Reverse Linked List | LeetCode OJ](https://leetcode.com/problems/reverse-linked-list/) +- leetcode: [(206) Reverse Linked List | LeetCode OJ](https://leetcode.com/problems/reverse-linked-list/) - lintcode: [(35) Reverse Linked List](http://www.lintcode.com/en/problem/reverse-linked-list/) ``` @@ -19,7 +19,7 @@ Reverse it in-place and in one-pass It would be much easier to reverse an array than a linked list, since array supports random access with index, while singly linked list can ONLY be operated through its head node. So an approach without index is required. -Think about how can '1->2->3' become '3->2->1'. Starting from '1', we should turn '1->2' into '2->1', then '2->3' into '3->2', and so on. The key is how to swap two adjacent nodes. +Think about how '1->2->3' can become '3->2->1'. Starting from '1', we should turn '1->2' into '2->1', then '2->3' into '3->2', and so on. The key is how to swap two adjacent nodes. ``` temp = head -> next; @@ -128,7 +128,7 @@ Already covered in the solution part. One more word, the assignment of `prev` is ### Complexity -Traversing the linked list, so the time complexity is $$O(n)$$. $$O(1)$$ auxiliary space complexity. +Traversing the linked list leads to ***O(n)*** time complexity, and auxiliary space complexity is ***O(1)***. ## Solution2 - Recursively @@ -136,9 +136,9 @@ Three cases when the recursion ceases: 1. If given linked list is null, just return. 2. If given linked list has only one node, return that node. -3. If given linked list has at least two nodes, pick out the head node and regard the following nodes as a whole entity, swap them, then recurse that entity. +3. If given linked list has at least two nodes, pick out the head node and regard the following nodes as a sub-linked-list, swap them, then recurse that sub-linked-list. -Be careful when swapping the head node (refer as `Node0`) and head of the following nodes entity (refer as 'Node1' ): First, swap `Node0` and `Node1`; Second, assign `null` to `Node0`'s next (or it would fall into infinite loop, and tail of result list won't point to `null`). +Be careful when swapping the head node (refer as `nodeY`) and head of the sub-linked-list (refer as 'nodeX' ): First, swap `nodeY` and `nodeX`; Second, assign `null` to `nodeY->next` (or it would fall into infinite loop, and tail of result list won't point to `null`). ### Python diff --git a/shared-files/images/linked_list_summary_en.png b/shared-files/images/linked_list_summary_en.png index dcd3b4187132a2b3860549daa77418ac27b1b78d..ae878e00bb44904ae016fb04c4e56d52c22d7365 100644 GIT binary patch delta 39499 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 W4=*q5k8RUq00K`}KbLh*2~7aYm~|om delta 40394 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%0DltdtMPo;0zfsC`dc4*(9&FB!Hh2{< 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 KW?XRzN&Od)oOWIS From c6926626a66ec93ecab2e18c6ecbeec5763a7944 Mon Sep 17 00:00:00 2001 From: billryan Date: Mon, 6 Aug 2018 00:16:14 +0800 Subject: [PATCH 16/49] add topk mapreduce --- zh-hans/SUMMARY.md | 2 + zh-hans/bigdata/README.md | 1 + .../top_k_frequent_words_map_reduce.md | 189 ++++++++++++++++++ 3 files changed, 192 insertions(+) create mode 100644 zh-hans/bigdata/README.md create mode 100644 zh-hans/bigdata/top_k_frequent_words_map_reduce.md diff --git a/zh-hans/SUMMARY.md b/zh-hans/SUMMARY.md index c7189863c..a10921a86 100644 --- a/zh-hans/SUMMARY.md +++ b/zh-hans/SUMMARY.md @@ -218,6 +218,8 @@ * [Longest Words](data_structure/longest_words.md) * [Heapify](data_structure/heapify.md) * [Kth Smallest Number in Sorted Matrix](data_structure/kth_smallest_number_in_sorted_matrix.md) +* [Big Data](bigdata/README.md) + * [Top K Frequent Words (Map Reduce)](bigdata/top_k_frequent_words_map_reduce.md) * [Problem Misc](problem_misc/README.md) * [Nuts and Bolts Problem](problem_misc/nuts_and_bolts_problem.md) * [String to Integer](problem_misc/string_to_integer.md) diff --git a/zh-hans/bigdata/README.md b/zh-hans/bigdata/README.md new file mode 100644 index 000000000..1d9eb6844 --- /dev/null +++ b/zh-hans/bigdata/README.md @@ -0,0 +1 @@ + 本小节主要总结 bigdata 相关的题,涉及 MapReduce, Top K 等经典问题。 \ No newline at end of file diff --git a/zh-hans/bigdata/top_k_frequent_words_map_reduce.md b/zh-hans/bigdata/top_k_frequent_words_map_reduce.md new file mode 100644 index 000000000..d1f68ea54 --- /dev/null +++ b/zh-hans/bigdata/top_k_frequent_words_map_reduce.md @@ -0,0 +1,189 @@ +--- +difficulty: Medium +tags: +- Big Data +- Map Reduce +- EditorsChoice +title: Top K Frequent Words (Map Reduce) +--- + +# Top K Frequent Words (Map Reduce) + +## Problem + +### Metadata + +- tags: Big Data, Map Reduce, EditorsChoice +- difficulty: Medium +- source(lintcode): + +### Description + +Find top k frequent words with map reduce framework. + +The mapper's key is the document id, value is the content of the document, words in a document are split by spaces. + +For reducer, the output should be at most k key-value pairs, which are the top k words and their frequencies in this reducer. The judge will take care about how to merge different reducers' results to get the global top k frequent words, so you don't need to care about that part. + +The *k* is given in the constructor of TopK class. + +#### Notice + +For the words with same frequency, rank them with alphabet. + +#### Example + +Given document A = +``` +lintcode is the best online judge +I love lintcode +``` +and document B = +``` +lintcode is an online judge for coding interview +you can test your code online at lintcode +``` + +The top 2 words and their frequencies should be +``` +lintcode, 4 +online, 3 +``` + +## 题解 + +使用 Map Reduce 来做 Top K, 相比传统的 Top K 多了 Map 和 Reduce 这两大步骤。Map Reduce 模型实际上是在处理分布式问题时总结出的抽象模型,主要分为 Map 和 Reduce 两个阶段。 + +- Map 阶段:数据分片,每个分片由一个 Map task 处理,不进行分片则无法分布式处理 +- Reduce 阶段:并行对前一阶段的结果进行规约处理并得到最终最终结果 + +实际的 MapReduce 编程模型可由以下5个分布式步骤组成: + +1. 将输入数据解析为 `` 对 +2. 将输入的 `` map 为另一种 `` +3. 根据 key 对 map 阶段的数据分组 +4. 对上一阶段的分组数据进行规约(Reduce) 并生成新的 `` +5. 进一步处理 Reduce 阶段的数据并进行持久化 + +根据题意,我们只需要实现 Map, Reduce 这两个步骤即可,输出出现频率最高的 K 个单词并对相同频率的单词按照字典序排列。如果我们使用大根堆维护,那么我们可以在输出结果时依次移除根节点即可。这种方法虽然可行,但不可避免会产生不少空间浪费,理想情况下,我们仅需要维护 K 个大小的堆即可。所以接下来的问题便是我们怎么更好地维护这种 K 大小的堆,并且在新增元素时剔除的是最末尾(最小)的节点。 + +### Java + +```java +/** + * Definition of OutputCollector: + * class OutputCollector { + * public void collect(K key, V value); + * // Adds a key/value pair to the output buffer + * } + * Definition of Document: + * class Document { + * public int id; + * public String content; + * } + */ + +class KeyFreq implements Comparable { + public String key = null; + public int freq = 0; + + public KeyFreq(String key, int freq) { + this.key = key; + this.freq = freq; + } + + @Override + public int compareTo(KeyFreq kf) { + if (kf.freq != this.freq) { + return this.freq - kf.freq; + } + + // keep small alphabet + return kf.key.compareTo(this.key); + } +} + +public class TopKFrequentWords { + + public static class Map { + public void map(String _, Document value, + OutputCollector output) { + // Write your code here + // Output the results into output buffer. + // Ps. output.collect(String key, int value); + if (value == null || value.content == null) return; + + String[] splits = value.content.split(" "); + for (String split : splits) { + if (split.length() > 0) { + output.collect(split, 1); + } + } + } + } + + public static class Reduce { + + private int k = 0; + private PriorityQueue pq = null; + + public void setup(int k) { + // initialize your data structure here + this.k = k; + pq = new PriorityQueue(k); + } + + public void reduce(String key, Iterator values) { + int sum = 0; + while (values.hasNext()) { + int value = values.next(); + sum += value; + } + + KeyFreq kf = new KeyFreq(key, sum); + + if (pq.size() < k) { + pq.offer(kf); + } else { + KeyFreq peekKf = pq.peek(); + if (peekKf.compareTo(kf) <= 0) { + pq.poll(); + pq.offer(kf); + } + } + } + + public void cleanup(OutputCollector output) { + // Output the top k pairs into output buffer. + // Ps. output.collect(String key, Integer value); + + List kfList = new ArrayList(k); + for (int i = 0; i < k && (!pq.isEmpty()); i++) { + kfList.add(pq.poll()); + } + + // get max k from min-heapqueue + int kfLen = kfList.size(); + for (int i = 0; i < kfLen; i++) { + KeyFreq kf = kfList.get(kfLen - i - 1); + output.collect(kf.key, kf.freq); + } + } + } +} +``` + +### 源码分析 + +使用 Java 自带的 PriorityQueue 来实现堆,由于需要定制大小比较,所以这里自定义类中实现了 `Comparable` 的 `compareTo` 接口,另外需要注意的是这里原生使用了小根堆,所以我们在覆写 `compareTo` 时需要注意字符串的比较,相同频率的按照字典序排序,即优先保留字典序较小的字符串,所以正好和 freq 的比较相反。最后再输出答案时,由于是小根堆,所以还需要再转置一次。此题的 Java 实现中,使用的 PriorityQueue 并非线程安全,实际使用中需要注意是否需要用到线程安全的 PriorityBlockingQueue + +对于 Java, 虽然标准库中暂未有定长的 PriorityQueue 实现,但是我们常用的 Google guava 库中其实已有类似实现,见 [MinMaxPriorityQueue](https://google.github.io/guava/releases/snapshot/api/docs/com/google/common/collect/MinMaxPriorityQueue.html) 不必再自己造轮子了。 + +### 复杂度分析 + +堆的插入删除操作,定长为 K, n 个元素,故时间复杂度约 $$O(n \log K)$$, 空间复杂度为 $$O(n)$$. + +## Reference + +- 《大数据技术体系详解》——董西成,MapReduce 编程模型 +- [九章算法 - topk-mapreduce](https://www.jiuzhang.com/solution/top-k-frequent-words-map-reduce/) \ No newline at end of file From 6ba37141b06f1c61ad64a2ceebf4ac810f08db97 Mon Sep 17 00:00:00 2001 From: billryan Date: Tue, 7 Aug 2018 00:27:06 +0800 Subject: [PATCH 17/49] add top k frequent words --- zh-hans/SUMMARY.md | 1 + zh-hans/bigdata/top_k_frequent_words.md | 139 ++++++++++++++++++++++++ 2 files changed, 140 insertions(+) create mode 100644 zh-hans/bigdata/top_k_frequent_words.md diff --git a/zh-hans/SUMMARY.md b/zh-hans/SUMMARY.md index a10921a86..29b551bfe 100644 --- a/zh-hans/SUMMARY.md +++ b/zh-hans/SUMMARY.md @@ -220,6 +220,7 @@ * [Kth Smallest Number in Sorted Matrix](data_structure/kth_smallest_number_in_sorted_matrix.md) * [Big Data](bigdata/README.md) * [Top K Frequent Words (Map Reduce)](bigdata/top_k_frequent_words_map_reduce.md) + * [Top K Frequent Words](bigdata/top_k_frequent_words.md) * [Problem Misc](problem_misc/README.md) * [Nuts and Bolts Problem](problem_misc/nuts_and_bolts_problem.md) * [String to Integer](problem_misc/string_to_integer.md) diff --git a/zh-hans/bigdata/top_k_frequent_words.md b/zh-hans/bigdata/top_k_frequent_words.md new file mode 100644 index 000000000..db4d41a62 --- /dev/null +++ b/zh-hans/bigdata/top_k_frequent_words.md @@ -0,0 +1,139 @@ +--- +difficulty: Medium +tags: +- Pocket Gems +- Hash Table +- Amazon +- Priority Queue +- Bloomberg +- Yelp +- Heap +- Uber +- EditorsChoice +title: Top K Frequent Words +--- + +# Top K Frequent Words + +## Problem + +### Metadata + +- tags: Pocket Gems, Hash Table, Amazon, Priority Queue, Bloomberg, Yelp, Heap, Uber, EditorsChoice +- difficulty: Medium +- source(lintcode): +- source(leetcode): + +### Description + +Given a list of words and an integer k, return the top k frequent words in the list. + +#### Notice + +You should order the words by the frequency of them in the return list, the most frequent one comes first. If two words has the same frequency, the one with lower alphabetical order come first. + +#### Example + +Given + + [ + "yes", "lint", "code", + "yes", "code", "baby", + "you", "baby", "chrome", + "safari", "lint", "code", + "body", "lint", "code" + ] + +for k = `3`, return `["code", "lint", "baby"]`. + +for k = `4`, return `["code", "lint", "baby", "yes"]`, + +#### Challenge + +Do it in O(nlogk) time and O(n) extra space. + +## 题解 + +输出出现频率最高的 K 个单词并对相同频率的单词按照字典序排列。如果我们使用大根堆维护,那么我们可以在输出结果时依次移除根节点即可。这种方法虽然可行,但不可避免会产生不少空间浪费,理想情况下,我们仅需要维护 K 个大小的堆即可。所以接下来的问题便是我们怎么更好地维护这种 K 大小的堆,并且在新增元素时剔除的是最末尾(最小)的节点。 + +### Java + +```java +public class Solution { + /** + * @param words: an array of string + * @param k: An integer + * @return: an array of string + */ + public String[] topKFrequentWords(String[] words, int k) { + // write your code here + if (words == null || words.length == 0) return words; + if (k <= 0) return new String[0]; + + Map wordFreq = new HashMap<>(); + for (String word : words) { + wordFreq.putIfAbsent(word, 0); + wordFreq.put(word, wordFreq.get(word) + 1); + } + + PriorityQueue pq = new PriorityQueue(k); + for (Map.Entry entry : wordFreq.entrySet()) { + KeyFreq kf = new KeyFreq(entry.getKey(), entry.getValue()); + if (pq.size() < k) { + pq.offer(kf); + } else { + KeyFreq peek = pq.peek(); + if (peek.compareTo(kf) <= 0) { + pq.poll(); + pq.offer(kf); + } + } + } + + int topKSize = Math.min(k, pq.size()); + String[] topK = new String[topKSize]; + for (int i = 0; i < k && !pq.isEmpty(); i++) { + topK[i] = pq.poll().key; + } + + // reverse array + for (int i = 0, j = topKSize - 1; i < j; i++, j--) { + String temp = topK[i]; + topK[i] = topK[j]; + topK[j] = temp; + } + + return topK; + } + + class KeyFreq implements Comparable { + String key; + int freq; + + public KeyFreq(String key, int freq) { + this.key = key; + this.freq = freq; + } + + @Override + public int compareTo(KeyFreq kf) { + if (this.freq != kf.freq) { + return this.freq - kf.freq; + } + + return kf.key.compareTo(this.key); + } + } +} +``` + + +### 源码分析 + +使用 Java 自带的 PriorityQueue 来实现堆,由于需要定制大小比较,所以这里自定义类中实现了 `Comparable` 的 `compareTo` 接口,另外需要注意的是这里原生使用了小根堆,所以我们在覆写 `compareTo` 时需要注意字符串的比较,相同频率的按照字典序排序,即优先保留字典序较小的字符串,所以正好和 freq 的比较相反。最后再输出答案时,由于是小根堆,所以还需要再转置一次。此题的 Java 实现中,使用的 PriorityQueue 并非线程安全,实际使用中需要注意是否需要用到线程安全的 PriorityBlockingQueue + +对于 Java, 虽然标准库中暂未有定长的 PriorityQueue 实现,但是我们常用的 Google guava 库中其实已有类似实现,见 [MinMaxPriorityQueue](https://google.github.io/guava/releases/snapshot/api/docs/com/google/common/collect/MinMaxPriorityQueue.html) 不必再自己造轮子了。 + +### 复杂度分析 + +堆的插入删除操作,定长为 K, n 个元素,故时间复杂度约 $$O(n \log K)$$, 空间复杂度为 $$O(n)$$. \ No newline at end of file From 5a0bca85441b5961430819113cae431d3fc43a94 Mon Sep 17 00:00:00 2001 From: billryan Date: Fri, 10 Aug 2018 00:15:55 +0800 Subject: [PATCH 18/49] add top k problem --- zh-hans/SUMMARY.md | 4 + zh-hans/bigdata/k_closest_points.md | 114 +++++++++++++++++++ zh-hans/bigdata/top_k_frequent_words_ii.md | 120 ++++++++++++++++++++ zh-hans/bigdata/top_k_largest_numbers.md | 65 +++++++++++ zh-hans/bigdata/top_k_largest_numbers_ii.md | 102 +++++++++++++++++ 5 files changed, 405 insertions(+) create mode 100644 zh-hans/bigdata/k_closest_points.md create mode 100644 zh-hans/bigdata/top_k_frequent_words_ii.md create mode 100644 zh-hans/bigdata/top_k_largest_numbers.md create mode 100644 zh-hans/bigdata/top_k_largest_numbers_ii.md diff --git a/zh-hans/SUMMARY.md b/zh-hans/SUMMARY.md index 29b551bfe..d4633552d 100644 --- a/zh-hans/SUMMARY.md +++ b/zh-hans/SUMMARY.md @@ -221,6 +221,10 @@ * [Big Data](bigdata/README.md) * [Top K Frequent Words (Map Reduce)](bigdata/top_k_frequent_words_map_reduce.md) * [Top K Frequent Words](bigdata/top_k_frequent_words.md) + * [Top K Frequent Words II](bigdata/top_k_frequent_words_ii.md) + * [K Closest Points](bigdata/k_closest_points.md) + * [Top k Largest Numbers](bigdata/top_k_largest_numbers.md) + * [Top k Largest Numbers II](bigdata/top_k_largest_numbers_ii.md) * [Problem Misc](problem_misc/README.md) * [Nuts and Bolts Problem](problem_misc/nuts_and_bolts_problem.md) * [String to Integer](problem_misc/string_to_integer.md) diff --git a/zh-hans/bigdata/k_closest_points.md b/zh-hans/bigdata/k_closest_points.md new file mode 100644 index 000000000..e594dc3b2 --- /dev/null +++ b/zh-hans/bigdata/k_closest_points.md @@ -0,0 +1,114 @@ +--- +difficulty: Medium +tags: +- Heap +- Amazon +- LinkedIn +title: K Closest Points +--- + +# K Closest Points + +## Problem + +### Metadata + +- tags: Heap, Amazon, LinkedIn +- difficulty: Medium +- source(lintcode): + +### Description + +Given some `points` and a point `origin` in two dimensional space, find `k` points out of the some points which are nearest to `origin`. +Return these points sorted by distance, if they are same with distance, sorted by x-axis, otherwise sorted by y-axis. + +#### Example + +Given points = `[[4,6],[4,7],[4,4],[2,5],[1,1]]`, origin = `[0, 0]`, k = `3` +return `[[1,1],[2,5],[4,4]]` + +## 题解 + +和普通的字符串及数目比较,此题为距离的比较。 + +### Java + +```java +/** + * Definition for a point. + * class Point { + * int x; + * int y; + * Point() { x = 0; y = 0; } + * Point(int a, int b) { x = a; y = b; } + * } + */ + +public class Solution { + /** + * @param points: a list of points + * @param origin: a point + * @param k: An integer + * @return: the k closest points + */ + public Point[] kClosest(Point[] points, Point origin, int k) { + // write your code here + Queue heap = new PriorityQueue(new DistanceComparator(origin)); + for (Point point : points) { + if (heap.size() < k) { + heap.offer(point); + } else { + Point peek = heap.peek(); + if (distance(peek, origin) <= distance(point, origin)) { + continue; + } else { + heap.poll(); + heap.offer(point); + } + } + } + + int minK = Math.min(k, heap.size()); + Point[] kClosestPoints = new Point[minK]; + for (int i = 1; i <= minK; i++) { + kClosestPoints[minK - i] = heap.poll(); + } + + return kClosestPoints; + } + + public int distance(Point p, Point origin) { + return (p.x - origin.x) * (p.x - origin.x) + + (p.y - origin.y) * (p.y - origin.y); + } + + class DistanceComparator implements Comparator { + private Point origin = null; + public DistanceComparator(Point origin) { + this.origin = origin; + } + + public int compare(Point p1, Point p2) { + int d1 = distance(p1, origin); + int d2 = distance(p2, origin); + if (d1 != d2) { + return d2 - d1; + } else { + if (p1.x != p2.x) { + return p2.x - p1.x; + } else { + return p2.y - p1.y; + } + } + } + } +} +``` + +### 源码分析 + +注意 Comparator 的用法和大小根堆的选择即可。 + +### 复杂度分析 + +堆的删除插入操作,最大为 K, 故时间复杂度为 $$O(n \log k)$$, 空间复杂度为 $$O(K)$$. \ No newline at end of file diff --git a/zh-hans/bigdata/top_k_frequent_words_ii.md b/zh-hans/bigdata/top_k_frequent_words_ii.md new file mode 100644 index 000000000..be0d7042a --- /dev/null +++ b/zh-hans/bigdata/top_k_frequent_words_ii.md @@ -0,0 +1,120 @@ +--- +difficulty: Hard +tags: +- Heap +- Data Structure Design +- Hash Table +title: Top K Frequent Words II +--- + +# Top K Frequent Words II + +## Problem + +### Metadata + +- tags: Heap, Data Structure Design, Hash Table +- difficulty: Hard +- source(lintcode): + +### Description + +Find top *k* frequent words in realtime data stream. + +Implement three methods for *Topk* Class: + +1. `TopK(k)`. The constructor. +2. `add(word)`. Add a new word. +3. `topk()`. Get the current top *k* frequent words. + +#### Notice + +If two words have the same frequency, rank them by alphabet. + +#### Example + +``` +TopK(2) +add("lint") +add("code") +add("code") +topk() +>> ["code", "lint"] +``` + +## 题解 + +此题较难,实际上和 Redis 的有序集合类似,综合使用字典和排序集合可完美解决。 + +### Java + +```java +public class TopK { + private int k; + private Map wordFreq = null; + private TreeSet topkSet = null; + + class TopkComparator implements Comparator { + public int compare(String s1, String s2) { + int s1Freq = wordFreq.get(s1), s2Freq = wordFreq.get(s2); + if (s1Freq != s2Freq) { + return s2Freq - s1Freq; + } else { + return s1.compareTo(s2); + } + } + } + + /* + * @param k: An integer + */public TopK(int k) { + // do intialization if necessary + this.k = k; + wordFreq = new HashMap(k); + topkSet = new TreeSet(new TopkComparator()); + } + + /* + * @param word: A string + * @return: nothing + */ + public void add(String word) { + // write your code here + if (wordFreq.containsKey(word)) { + if (topkSet.contains(word)) { + topkSet.remove(word); + } + wordFreq.put(word, wordFreq.get(word) + 1); + } else { + wordFreq.put(word, 1); + } + + topkSet.add(word); + if (topkSet.size() > k) { + topkSet.pollLast(); + } + } + + /* + * @return: the current top k frequent words. + */ + public List topk() { + // write your code here + List result = new ArrayList(k); + Iterator it = topkSet.iterator(); + while (it.hasNext()) { + result.add(it.next()); + } + + return result; + } +} +``` + +### 源码分析 + +略 + +### 复杂度分析 + +待续 \ No newline at end of file diff --git a/zh-hans/bigdata/top_k_largest_numbers.md b/zh-hans/bigdata/top_k_largest_numbers.md new file mode 100644 index 000000000..2232dccd5 --- /dev/null +++ b/zh-hans/bigdata/top_k_largest_numbers.md @@ -0,0 +1,65 @@ +--- +difficulty: Medium +tags: +- Priority Queue +- Heap +title: Top k Largest Numbers +--- + +# Top k Largest Numbers + +## Problem + +### Metadata + +- tags: Priority Queue, Heap +- difficulty: Medium +- source(lintcode): + +### Description + +Given an integer array, find the top *k* largest numbers in it. + +#### Example + +Given `[3,10,1000,-99,4,100]` and *k* = `3`. +Return `[1000, 100, 10]`. + +## 题解 + +简单题,使用堆即可。 + +### Java + +```java +public class Solution { + /** + * @param nums: an integer array + * @param k: An integer + * @return: the top k largest numbers in array + */ + public int[] topk(int[] nums, int k) { + if (nums == null || nums.length <= 1) return nums; + + PriorityQueue pq = new PriorityQueue(nums.length, Collections.reverseOrder()); + for (int num : nums) { + pq.offer(num); + } + + int[] maxK = new int[k]; + for (int i = 0; i < k; i++) { + maxK[i] = pq.poll(); + } + + return maxK; + } +} +``` + +### 源码分析 + +略 + +### 复杂度分析 + +略 \ No newline at end of file diff --git a/zh-hans/bigdata/top_k_largest_numbers_ii.md b/zh-hans/bigdata/top_k_largest_numbers_ii.md new file mode 100644 index 000000000..2f3589ceb --- /dev/null +++ b/zh-hans/bigdata/top_k_largest_numbers_ii.md @@ -0,0 +1,102 @@ +--- +difficulty: Medium +tags: +- Priority Queue +- Heap +- Data Stream +title: Top k Largest Numbers II +--- + +# Top k Largest Numbers II + +## Problem + +### Metadata + +- tags: Priority Queue, Heap, Data Stream +- difficulty: Medium +- source(lintcode): + +### Description + +Implement a data structure, provide two interfaces: + +1. `add(number)`. Add a new number in the data structure. +2. `topk()`. Return the top *k* largest numbers in this data structure. *k* is given when we create the data structure. + +#### Example + +``` +s = new Solution(3); +>> create a new data structure. +s.add(3) +s.add(10) +s.topk() +>> return [10, 3] +s.add(1000) +s.add(-99) +s.topk() +>> return [1000, 10, 3] +s.add(4) +s.topk() +>> return [1000, 10, 4] +s.add(100) +s.topk() +>> return [1000, 100, 10] +``` + +## 题解 + +此题只用堆的话在最后的排序输出会比较难受,最后用 List 的排序也可以。 + +### Java + +```java +public class Solution { + private int k = -1; + private Queue heap = null; + /* + * @param k: An integer + */public Solution(int k) { + // do intialization if necessary + this.k = k; + heap = new PriorityQueue(k); + } + + /* + * @param num: Number to be added + * @return: nothing + */ + public void add(int num) { + // write your code here + if (heap.size() < k) { + heap.offer(num); + } else if (heap.peek() < num) { + heap.poll(); + heap.offer(num); + } + } + + /* + * @return: Top k element + */ + public List topk() { + // write your code here + List result = new ArrayList<>(k); + Iterator it = heap.iterator(); + while(it.hasNext()) { + result.add(it.next()); + } + result.sort(Collections.reverseOrder()); + return result; + } +} +``` + +### 源码分析 + +略 + +### 复杂度分析 + +略 \ No newline at end of file From 731859735e5041574ea6c413b5666b5309023e9d Mon Sep 17 00:00:00 2001 From: yuanzhongyan Date: Fri, 10 Aug 2018 18:00:28 +0800 Subject: [PATCH 19/49] [zh-hans] add solution to 'Search in Rotated Sorted Array --- .../search_in_rotated_sorted_array.md | 0 .../search_in_rotated_sorted_array.md | 79 ++++++++++++++++++- 2 files changed, 78 insertions(+), 1 deletion(-) create mode 100644 en/binary_search/search_in_rotated_sorted_array.md diff --git a/en/binary_search/search_in_rotated_sorted_array.md b/en/binary_search/search_in_rotated_sorted_array.md new file mode 100644 index 000000000..e69de29bb diff --git a/zh-hans/binary_search/search_in_rotated_sorted_array.md b/zh-hans/binary_search/search_in_rotated_sorted_array.md index 4d93bdbca..6164b2b5c 100644 --- a/zh-hans/binary_search/search_in_rotated_sorted_array.md +++ b/zh-hans/binary_search/search_in_rotated_sorted_array.md @@ -26,7 +26,7 @@ For `[4, 5, 1, 2, 3]` and `target=0`, return `-1`. O(logN) time -## 题解 - 找到有序数组 +## 题解1 - 找到有序数组 对于旋转数组的分析可使用画图的方法,如下图所示,升序数组经旋转后可能为如下两种形式。 @@ -146,3 +146,80 @@ public class Solution { ### 复杂度分析 分两段二分,时间复杂度仍近似为 $$O(\log n)$$. + +## 题解2 - 应用两次二分 + +应用两次二分搜索:第一次是找到分段点,第二次是对分段点两边的有序数组(之一)进行搜索。后者非常简单,关键是第一步怎么找分段点。 + +乍一看,有序数组经过旋转就不再有序、也不单调了,好像用不了二分。其实不然,分段点左边的元素全都 ≥A[0]、右边元素全都 = A[0]) { + // search in [lo, segPoint] + return binSearch(A, target, 0, p); + } else { + // search in [segPoint, hi] + return binSearch(A, target, p, A.length - 1); + } + } + + private int findBreakPoint(int[] A) { + // A[index] < A[0], min[index] + int index; + + int lo = 0, hi = A.length - 1, segValue = A[0]; + while (lo + 1 < hi) { + int md = lo + (hi - lo)/2; + if (A[md] > segValue) { + lo = md; + } else { + hi = md; + } + } + index = A[lo] < segValue ? lo : hi; + + return index; + } + + private int binSearch(int[] A, int target, int lo, int hi) { + while (lo + 1 < hi) { + int md = lo + (hi - lo) / 2; + if (A[md] == target) { + lo = md; + } else if (A[md] < target) { + lo = md; + } else { + hi = md; + } + } + + if (A[lo] == target) { + return lo; + } + if (A[hi] == target) { + return hi; + } + return -1; + } +} +``` + +### 复杂度分析 + +第一次二分找段点时间复杂度为 ***O(log n)*** , 第二次在局部有序数组上二分时间复杂度不超过 ***O(log n)*** , 总起来还是近似 ***O(log n)*** . From e52ec7e5b9cc5aa71916a7f60bca4dc7e5f0473d Mon Sep 17 00:00:00 2001 From: yuanzhongyan Date: Sat, 11 Aug 2018 00:00:53 +0800 Subject: [PATCH 20/49] [en] Add Search in Rotated Sorted Array --- .../search_in_rotated_sorted_array.md | 225 ++++++++++++++++++ 1 file changed, 225 insertions(+) diff --git a/en/binary_search/search_in_rotated_sorted_array.md b/en/binary_search/search_in_rotated_sorted_array.md index e69de29bb..4b5ccdc1e 100644 --- a/en/binary_search/search_in_rotated_sorted_array.md +++ b/en/binary_search/search_in_rotated_sorted_array.md @@ -0,0 +1,225 @@ +# Search in Rotated Sorted Array + +## Question + +- leetcode: [(33) Search in Rotated Sorted Array](https://leetcode.com/problems/search-in-rotated-sorted-array/) +- lintcode: [(62) Search in Rotated Sorted Array](http://www.lintcode.com/en/problem/search-in-rotated-sorted-array/) + +### Problem Statement + +Suppose a sorted array is rotated at some pivot unknown to you beforehand. + +(i.e., `0 1 2 4 5 6 7` might become `4 5 6 7 0 1 2`). + +You are given a target value to search. If found in the array return its +index, otherwise return -1. + +You may assume no duplicate exists in the array. + +#### Example + +For `[4, 5, 1, 2, 3]` and `target=1`, return `2`. + +For `[4, 5, 1, 2, 3]` and `target=0`, return `-1`. + +#### Challenge + +O(logN) time + +## Solution1 - work on sorted subarray + +Draw it. Rotated sorted array will take one of the following two forms: + +![Rotated Array](../../shared-files/images/rotated_array.png) + +Binary search does well in sorted array, while this problem gives an unordered one. Be patient. It is actually a combination of two sorted subarrayss. The solution takes full advantage of this. BTW, another approach can be comparing `target` with `A[mid]`, but dealing with lots of cases is kind of sophisticated. + +### C++ + +```c++ +/** + * 本代码fork自 + * http://www.jiuzhang.com/solutions/search-in-rotated-sorted-array/ + */ +class Solution { + /** + * param A : an integer ratated sorted array + * param target : an integer to be searched + * return : an integer + */ +public: + int search(vector &A, int target) { + if (A.empty()) { + return -1; + } + + vector::size_type start = 0; + vector::size_type end = A.size() - 1; + vector::size_type mid; + + while (start + 1 < end) { + mid = start + (end - start) / 2; + if (target == A[mid]) { + return mid; + } + if (A[start] < A[mid]) { + // situation 1, numbers between start and mid are sorted + if (A[start] <= target && target < A[mid]) { + end = mid; + } else { + start = mid; + } + } else { + // situation 2, numbers between mid and end are sorted + if (A[mid] < target && target <= A[end]) { + start = mid; + } else { + end = mid; + } + } + } + + if (A[start] == target) { + return start; + } + if (A[end] == target) { + return end; + } + return -1; + } +}; +``` + +### Java + +```java +public class Solution { + /** + *@param A : an integer rotated sorted array + *@param target : an integer to be searched + *return : an integer + */ + public int search(int[] A, int target) { + if (A == null || A.length == 0) return -1; + + int lb = 0, ub = A.length - 1; + while (lb + 1 < ub) { + int mid = lb + (ub - lb) / 2; + if (A[mid] == target) return mid; + + if (A[mid] > A[lb]) { + // case1: numbers between lb and mid are sorted + if (A[lb] <= target && target <= A[mid]) { + ub = mid; + } else { + lb = mid; + } + } else { + // case2: numbers between mid and ub are sorted + if (A[mid] <= target && target <= A[ub]) { + lb = mid; + } else { + ub = mid; + } + } + } + + if (A[lb] == target) { + return lb; + } else if (A[ub] == target) { + return ub; + } + return -1; + } +} +``` + +### Source Code Analysis + +1. If `target == A[mid]`, just return. +2. Observe the two sorted subarrays, we can find that the least one of the left is greater than the biggest of the right. So if `A[start] < A[mid]`, then interval [start, mid] will be sorted. +3. Do binary search on `A[start] ~ A[mid]` on condition that `A[start] <= target <= A[mid]`. +4. Or do binary search on `A[mid]~A[end]` on condition that `A[mid] <= target <= A[end]`. +5. If while loop ends and none `A[mid]` hits, then examine `A[start]` and `A[end]`. +6. Return -1 if `target` is not found. + +### Complexity + +The time complexity is approximately ***O(log n)***. + +## Solution2 - double binary search + +Do binary search twice: first on the given array to find the break point; then on the proper piece of subarray to search for the target. + +It may take a small step to see why the given array is binary-searchable. Though a rotated array itself is neither sorted nor monotone, there is implicit monotonicity. All elements on the left of break point are ≥A[0], and those on the right of break point are = A[0]) { + // search in [lo, segPoint] + return binSearch(A, target, 0, p); + } else { + // search in [segPoint, hi] + return binSearch(A, target, p, A.length - 1); + } + } + + private int findBreakPoint(int[] A) { + // A[index] < A[0], min[index] + int index; + + int lo = 0, hi = A.length - 1, segValue = A[0]; + while (lo + 1 < hi) { + int md = lo + (hi - lo)/2; + if (A[md] > segValue) { + lo = md; + } else { + hi = md; + } + } + index = A[lo] < segValue ? lo : hi; + + return index; + } + + private int binSearch(int[] A, int target, int lo, int hi) { + while (lo + 1 < hi) { + int md = lo + (hi - lo) / 2; + if (A[md] == target) { + lo = md; + } else if (A[md] < target) { + lo = md; + } else { + hi = md; + } + } + + if (A[lo] == target) { + return lo; + } + if (A[hi] == target) { + return hi; + } + return -1; + } +} +``` + +### Complexity + +The first binary search costs ***O(log n)*** time complexity, and the second costs no more than ***O(log n)***. From 50f46beeb6a4ad20c601212ad970348bb2bf51fb Mon Sep 17 00:00:00 2001 From: yuanzhongyan Date: Sat, 11 Aug 2018 00:06:25 +0800 Subject: [PATCH 21/49] compress linked_list_summary_en.png --- en/linked_list/reverse_linked_list.md | 6 +++++- .../images/linked_list_summary_en.png | Bin 249300 -> 63692 bytes 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/en/linked_list/reverse_linked_list.md b/en/linked_list/reverse_linked_list.md index 385e76b1a..defd47f4e 100644 --- a/en/linked_list/reverse_linked_list.md +++ b/en/linked_list/reverse_linked_list.md @@ -138,7 +138,7 @@ Three cases when the recursion ceases: 2. If given linked list has only one node, return that node. 3. If given linked list has at least two nodes, pick out the head node and regard the following nodes as a sub-linked-list, swap them, then recurse that sub-linked-list. -Be careful when swapping the head node (refer as `nodeY`) and head of the sub-linked-list (refer as 'nodeX' ): First, swap `nodeY` and `nodeX`; Second, assign `null` to `nodeY->next` (or it would fall into infinite loop, and tail of result list won't point to `null`). +Be careful when swapping the head node (refer as `nodeY`) and head of the sub-linked-list (refer as `nodeX` ): First, swap `nodeY` and `nodeX`; Second, assign `null` to `nodeY->next` (or it would fall into infinite loop, and tail of result list won't point to `null`). ### Python @@ -250,6 +250,10 @@ case1 and case2 can be combined.What case3 returns is head of reversed list, whi ### Complexity +The depth of recursion: ***O(n)***. Time Complexity: ***O(N)***. Space Complexity (without considering the recursion stack): ***O(1)***. + +### Reference + - [全面分析再动手的习惯:链表的反转问题(递归和非递归方式) - 木棉和木槿 - 博客园](http://www.cnblogs.com/kubixuesheng/p/4394509.html) - [data structures - Reversing a linked list in Java, recursively - Stack Overflow](http://stackoverflow.com/questions/354875/reversing-a-linked-list-in-java-recursively) - [反转单向链表的四种实现(递归与非递归,C++) | 宁心勉学,慎思笃行](http://ceeji.net/blog/reserve-linked-list-cpp/) diff --git a/shared-files/images/linked_list_summary_en.png b/shared-files/images/linked_list_summary_en.png index ae878e00bb44904ae016fb04c4e56d52c22d7365..6aefac2e78ac24c23a57a5716c7e413cbfd0dce0 100644 GIT binary patch literal 63692 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%0D4!2>SFh^OsR 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%0DpwPMHpDCh=W4*PsQL4W=2G~A3VQ!=Fa|HV%7Do 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

BdVzr;?nnjsV|9Q+KWSif^f1q*qA$T5)!Z9OCiX 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 literal 249300 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 v+o~dQ3}) From 614a6918e6a0ed70c6638b37d0479342b5b96cf6 Mon Sep 17 00:00:00 2001 From: yuanzhongyan Date: Mon, 20 Aug 2018 00:43:54 +0800 Subject: [PATCH 22/49] [en] Add Kth Largest Element in an Array --- en/integer_array/kth_largest_element.md | 86 ++++++++++++++++++++ zh-hans/integer_array/kth_largest_element.md | 2 +- 2 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 en/integer_array/kth_largest_element.md diff --git a/en/integer_array/kth_largest_element.md b/en/integer_array/kth_largest_element.md new file mode 100644 index 000000000..df1cca77a --- /dev/null +++ b/en/integer_array/kth_largest_element.md @@ -0,0 +1,86 @@ +# Kth Largest Element in an Array + +Tags: Quick Sort, Divide and Conquer, Medium + +## Question + +- leetcode: [(215) Kth Largest Element in an Array](https://leetcode.com/problems/kth-largest-element-in-an-array/) +- lintcode: [(5) Kth Largest Element](http://www.lintcode.com/en/problem/kth-largest-element/) + +### Problem Statement + +Find the **k**th largest element in an unsorted array. Note that it is the kth +largest element in the sorted order, not the kth distinct element. + +For example, +Given `[3,2,1,5,6,4]` and k = 2, return 5. + +**Note: ** +You may assume k is always valid, 1 ≤ k ≤ array's length. + +**Credits:** + +Special thanks to [@mithmatt](https://leetcode.com/discuss/user/mithmatt) for +adding this problem and creating all test cases. + +## Solution + +Trail and error: Comparison-based sorting algorithms don't work because they incur ***O(n2)*** time complexity. Neither does Radix Sort which requires the elements to be in a certain range. In fact, Quick Sort is the answer to `kth largest` problems ([Here](http://algorithm.yuanbin.me/zh-hans/basics_sorting/quick_sort.html) are code templates of quick sort). + +By quick sorting, we get the final index of a pivot. And by comparing that index with `K`, we decide which side (the greater or the smaller) of the pivot to recurse on. + +### Java + +```java +public class Solution { + public int findKthLargest(int[] nums, int k) { + if (nums == null || nums.length == 0) { + return Integer.MIN_VALUE; + } + + int kthLargest = qSort(nums, 0, nums.length - 1, k); + return kthLargest; + } + + private int qSort(int[] nums, int left, int right, int k) { + if (left >= right) { + return nums[right]; + } + + int m = left; + for (int i = left + 1; i <= right; i++) { + if (nums[i] > nums[left]) { + m++; + swap(nums, m, i); + } + } + swap(nums, m, left); + + if (k == m + 1) { + return nums[m]; + } else if (k > m + 1) { + return qSort(nums, m + 1, right, k); + } else { + return qSort(nums, left, m - 1, k); + } + } + + private void swap(int[] nums, int i, int j) { + int tmp = nums[i]; nums[i] = nums[j]; nums[j] = tmp; + } +} +``` + +### Src Code Analysis + +Two cases when the recursion ceases: +a. left bound equals right bound; +b. final index of pivot equals K. + +Since 'Kth **largest**' is wanted, numbers greater than pivot are placed to the left and numbers smaller to the right, which is a little different with typical quick sort code. + +### Complexity + +Time Complexity. Worse case (when the array is sorted): ***n + n - 1 + ... + 1 = O(n^2)*** . Amortized complexity: ***n + n/2 + n/4 + ... + 1 = O(2n)=O(n)*** . + +Space complexity is ***O(1)*** . diff --git a/zh-hans/integer_array/kth_largest_element.md b/zh-hans/integer_array/kth_largest_element.md index 7be95d23c..3344d1e8b 100644 --- a/zh-hans/integer_array/kth_largest_element.md +++ b/zh-hans/integer_array/kth_largest_element.md @@ -1,6 +1,6 @@ # Kth Largest Element in an Array -Tags: Heap, Divide and Conquer, Medium +Tags: Quick Sort, Divide and Conquer, Medium ## Question From 4dd8638eb872516a6ac96358b915d922d07a30d5 Mon Sep 17 00:00:00 2001 From: yuanzhongyan Date: Mon, 20 Aug 2018 01:00:17 +0800 Subject: [PATCH 23/49] [en] Add Partition Array by Odd and Even --- .../partition_array_by_odd_and_even.md | 75 +++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 en/integer_array/partition_array_by_odd_and_even.md diff --git a/en/integer_array/partition_array_by_odd_and_even.md b/en/integer_array/partition_array_by_odd_and_even.md new file mode 100644 index 000000000..f78c16c5e --- /dev/null +++ b/en/integer_array/partition_array_by_odd_and_even.md @@ -0,0 +1,75 @@ +# Partition Array by Odd and Even + +## Question + +- lintcode: [(373) Partition Array by Odd and Even](http://www.lintcode.com/en/problem/partition-array-by-odd-and-even/) +- [Segregate Even and Odd numbers - GeeksforGeeks](http://www.geeksforgeeks.org/segregate-even-and-odd-numbers/) + +``` +Partition an integers array into odd number first and even number second. + +Example +Given [1, 2, 3, 4], return [1, 3, 2, 4] + +Challenge +Do it in-place. +``` + +## Solution + +Use **two pointers** to keep the odd before the even, and swap when necessary. + +### Java + +```java +public class Solution { + /** + * @param nums: an array of integers + * @return: nothing + */ + public void partitionArray(int[] nums) { + if (nums == null) return; + + int left = 0, right = nums.length - 1; + while (left < right) { + // odd number + while (left < right && nums[left] % 2 != 0) { + left++; + } + // even number + while (left < right && nums[right] % 2 == 0) { + right--; + } + // swap + if (left < right) { + int temp = nums[left]; + nums[left] = nums[right]; + nums[right] = temp; + } + } + } +} +``` + +### C++ + +```c++ +void partitionArray(vector &nums) { + if (nums.empty()) return; + + int i=0, j=nums.size()-1; + while (i Date: Sat, 25 Aug 2018 22:29:42 +0800 Subject: [PATCH 24/49] fix typo for CI test --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 7849ce11e..ab898ab95 100644 --- a/README.md +++ b/README.md @@ -4,11 +4,11 @@ [![Slack Status](https://slackin4ds-algo.herokuapp.com/badge.svg)](https://slackin4ds-algo.herokuapp.com/) [![Chat on Slack](https://img.shields.io/badge/chat-on_slack-orange.svg)](https://ds-algo.slack.com/) -This book is some notes on learning data structure and algorithm. It was written in Simplified Chinese but other languages such as English and Traditional Chinese are work in progress. +This book is notes about learning data structure and algorithm. It was written in Simplified Chinese but other languages such as English and Traditional Chinese are also working in progress. Contributions are welcome! -- [English](https://algorithm.yuanbin.me/en/), seldom updated +- [English](https://algorithm.yuanbin.me/en/), rarely updated - [简体中文](https://algorithm.yuanbin.me/zh-hans/), frequently updated -- [繁體中文](https://algorithm.yuanbin.me/zh-tw/), seldom updated +- [繁體中文](https://algorithm.yuanbin.me/zh-tw/), rarely updated ## Introduction From 94bc9307c0217e2269e8d2cc3c12875ac71bfab6 Mon Sep 17 00:00:00 2001 From: yuanzhongyan Date: Sun, 26 Aug 2018 21:50:24 +0800 Subject: [PATCH 25/49] en/basics_sorting/quick_sort.md --- en/basics_sorting/quick_sort.md | 299 ++++++++++++++++++++++++++++++++ 1 file changed, 299 insertions(+) create mode 100644 en/basics_sorting/quick_sort.md diff --git a/en/basics_sorting/quick_sort.md b/en/basics_sorting/quick_sort.md new file mode 100644 index 000000000..0a375395b --- /dev/null +++ b/en/basics_sorting/quick_sort.md @@ -0,0 +1,299 @@ +# Quick Sort + +In essence, quick sort is an application of `divide and conquer` strategy. There are usually three steps: + +Step1. Pick a pivot -- a random element. +Step2. Partition -- put the elements smaller than pivot to its left and greater ones to its right. +Step3. Recurse -- apply above steps until the whole sequence is sorted. + +## out-in-place implementation + +Recursive implementation is easy to understand and code. Python `list comprehension` looks even nicer: + +```python +#!/usr/bin/env python + + +def qsort1(alist): + print(alist) + if len(alist) <= 1: + return alist + else: + pivot = alist[0] + return qsort1([x for x in alist[1:] if x < pivot]) + \ + [pivot] + \ + qsort1([x for x in alist[1:] if x >= pivot]) + +unsortedArray = [6, 5, 3, 1, 8, 7, 2, 4] +print(qsort1(unsortedArray)) +``` + +The output: + +``` +[6, 5, 3, 1, 8, 7, 2, 4] +[5, 3, 1, 2, 4] +[3, 1, 2, 4] +[1, 2] +[] +[2] +[4] +[] +[8, 7] +[7] +[] +[1, 2, 3, 4, 5, 6, 7, 8] +``` + +Despite of its simplicity, above quick sort code is not that 'quick': recursive calls keep creating new arrays which results in high space complexity. So `list comprehension` is not proper for quick sort implementation. + +### Complexity + +Take a quantized look at how much space it actually cost. + +In the best case, the pivot happens to be the **median** value, and quick sort partition divides the sequence almost equally, so the recursions' depth is $$\log n$$ . As to the space complexity of each level (depth), it is worth some discussion. + +A common mistake can be: each level contains $$n$$ elements, then the space complexity is surely $$O(n)$$ . The answer is right, while the approach is not. As we know, space complexity is usually measured by memory consumption of a running program. Take above out-in-place implementation as example, **in the best case, each level costs half as much memory as its upper level does** . Sums up to be: + + $$\sum _{i=0} ^{} \frac {n}{2^i} = 2n$$ . + +For more detail, refer to the picture below as well as above python code. The first level of recursion saves 8 values, the second 4, and so on so forth. + +In the worst case, it will take $$i - 1$$ times of swap on level $$i$$. Sums up to be: + +$$\sum_{i=0}^n (n-i+1) = O(n^2)$$ + +![Quicksort Recursive](../../shared-files/images/qsort1.png) + +## in-place implementation + +### one index for partition + +One in-place implementation of quick sort is to use one index for partition, as the following image illustrates. Take example of `[6, 5, 3, 1, 8, 7, 2, 4]` again, $$l$$ and $$u$$ stand for the lower bound and upper bound of index respectively. $$i$$ traverses and $$m$$ maintains index of partition which varies with $$i$$. $$target$$ is the pivot. + +![Quick Sort one index for partition](../../shared-files/images/qsort2.png) + +For each specific value of $$i$$, $$x[i]$$ will take one of the follwing cases: if $$x[i] \geq t$$ , $$i$$ increases and goes on traversing; else if $$x[i] < t$$ , $$x[i]$$ will be swapped to the left part, as statement `swap(x[++m], x[i])` does. Partition is done when `i == u`, and then we apply quick sort to the left and right parts, recursively. Under what circumstance does recursion terminate? Yes, `l >= u`. + +### Python + +```python +#!/usr/bin/env python + + +def qsort2(alist, l, u): + print(alist) + if l >= u: + return + + m = l + for i in xrange(l + 1, u + 1): + if alist[i] < alist[l]: + m += 1 + alist[m], alist[i] = alist[i], alist[m] + # swap between m and l after partition, important! + alist[m], alist[l] = alist[l], alist[m] + qsort2(alist, l, m - 1) + qsort2(alist, m + 1, u) + +unsortedArray = [6, 5, 3, 1, 8, 7, 2, 4] +print(qsort2(unsortedArray, 0, len(unsortedArray) - 1)) +``` + +### Java + +```java +public class Sort { + public static void main(String[] args) { + int unsortedArray[] = new int[]{6, 5, 3, 1, 8, 7, 2, 4}; + quickSort(unsortedArray); + System.out.println("After sort: "); + for (int item : unsortedArray) { + System.out.print(item + " "); + } + } + + public static void quickSort1(int[] array, int l, int u) { + for (int item : array) { + System.out.print(item + " "); + } + System.out.println(); + + if (l >= u) return; + int m = l; + for (int i = l + 1; i <= u; i++) { + if (array[i] < array[l]) { + m += 1; + int temp = array[m]; + array[m] = array[i]; + array[i] = temp; + } + } + // swap between array[m] and array[l] + // put pivot in the mid + int temp = array[m]; + array[m] = array[l]; + array[l] = temp; + + quickSort1(array, l, m - 1); + quickSort1(array, m + 1, u); + } + + public static void quickSort(int[] array) { + quickSort1(array, 0, array.length - 1); + } +} +``` + +The swap of $$x[i]$$ and $$x[m]$$ should not be left out. + +The output: + +``` +[6, 5, 3, 1, 8, 7, 2, 4] +[4, 5, 3, 1, 2, 6, 8, 7] +[2, 3, 1, 4, 5, 6, 8, 7] +[1, 2, 3, 4, 5, 6, 8, 7] +[1, 2, 3, 4, 5, 6, 8, 7] +[1, 2, 3, 4, 5, 6, 8, 7] +[1, 2, 3, 4, 5, 6, 8, 7] +[1, 2, 3, 4, 5, 6, 7, 8] +[1, 2, 3, 4, 5, 6, 7, 8] +``` + +### Two-way partitioning + +Another implementation is to use two indexes for partition. It speeds up the partition by working two-way simultaneously, both from lower bound toward right and from upper bound toward left, instead of traversing one-way through the sequence. + +The gif below shows the complete process on `[6, 5, 3, 1, 8, 7, 2, 4]`. + +![Quick Sort two index for partition](../../shared-files/images/qsort3.gif) + +1. Take `3` as the pivot. +2. Let pointer `lo` start with number `6` and pointer `hi` start with number `4`. Keep increasing `lo` until it comes to an element ≥ the pivot, and decreasing `hi` until it comes to an element < the pivot. Then swap these two elements. +3. Increase `lo` and decrease `hi` (both by 1), and repeat step 2 so that `lo` comes to `5` and `hi` comes to `1`. Swap again. +4. Increase `lo` and decrease `hi` (both by 1) until they meet (at `3`). The partition for pivot `3` ends. Apply the same operations on the left and right part of pivot `3`. + +A more general interpretation: + +1. Init $$i$$ and $$j$$ to be at the two ends of given array. +2. Take the first element as the pivot. +3. Perform partition, which is a loop with two inner-loops: + - One that increases $$i$$, until it comes to an element ≥ pivot. + - The other that decreases $$j$$, until it comes to an element < pivot. +4. Check whether $$i$$ and $$j$$ meet or overlap. If so, swap the elements. + +Think of a sequence whose elements are *all equal*. In such case, each partition will return the middle element, thus recursion will happen $$\log n$$ times. For each level of recursion, it takes $$n$$ times of comparison. The total comparison is $$n \log n$$ then. [^programming_pearls] + +### Python + +```python +#!/usr/bin/env python + +def qsort3(alist, lower, upper): + print(alist) + if lower >= upper: + return + + pivot = alist[lower] + left, right = lower + 1, upper + while left <= right: + while left <= right and alist[left] < pivot: + left += 1 + while left <= right and alist[right] >= pivot: + right -= 1 + if left > right: + break + # swap while left <= right + alist[left], alist[right] = alist[right], alist[left] + # swap the smaller with pivot + alist[lower], alist[right] = alist[right], alist[lower] + + qsort3(alist, lower, right - 1) + qsort3(alist, right + 1, upper) + +unsortedArray = [6, 5, 3, 1, 8, 7, 2, 4] +print(qsort3(unsortedArray, 0, len(unsortedArray) - 1)) +``` + +### Java + +```java +public class Sort { + public static void main(String[] args) { + int unsortedArray[] = new int[]{6, 5, 3, 1, 8, 7, 2, 4}; + quickSort(unsortedArray); + System.out.println("After sort: "); + for (int item : unsortedArray) { + System.out.print(item + " "); + } + } + + public static void quickSort2(int[] array, int l, int u) { + for (int item : array) { + System.out.print(item + " "); + } + System.out.println(); + + if (l >= u) return; + int pivot = array[l]; + int left = l + 1; + int right = u; + while (left <= right) { + while (left <= right && array[left] < pivot) { + left++; + } + while (left <= right && array[right] >= pivot) { + right--; + } + if (left > right) break; + // swap array[left] with array[right] while left <= right + int temp = array[left]; + array[left] = array[right]; + array[right] = temp; + } + /* swap the smaller with pivot */ + int temp = array[right]; + array[right] = array[l]; + array[l] = temp; + + quickSort2(array, l, right - 1); + quickSort2(array, right + 1, u); + } + + public static void quickSort(int[] array) { + quickSort2(array, 0, array.length - 1); + } +} +``` + +The output: + +``` +[6, 5, 3, 1, 8, 7, 2, 4] +[2, 5, 3, 1, 4, 6, 7, 8] +[1, 2, 3, 5, 4, 6, 7, 8] +[1, 2, 3, 5, 4, 6, 7, 8] +[1, 2, 3, 5, 4, 6, 7, 8] +[1, 2, 3, 5, 4, 6, 7, 8] +[1, 2, 3, 4, 5, 6, 7, 8] +[1, 2, 3, 4, 5, 6, 7, 8] +[1, 2, 3, 4, 5, 6, 7, 8] +[1, 2, 3, 4, 5, 6, 7, 8] +[1, 2, 3, 4, 5, 6, 7, 8] +``` + +Having analyzed three implementations of quick sort, we may grasp one key difference between *quick sort* and *merge sort* : + +1. Merge sort divides the original array into two sub-arrays, and merges the sorted sub-arrays to form a totally ordered one. In this case, recursion happens before processing(merging) the whole array. +2. Quick sort divides the original array into two sub-arrays, and then sort them. The whole array is ordered as soon as the sub-arrays get sorted. In this case, recursion happens after processing(partition) the whole array. + +Robert Sedgewick's presentation on [quick sort](http://algs4.cs.princeton.edu/23quicksort/) is strongly recommended. + +## Reference + +- [Quicksort - wikepedia](https://en.wikipedia.org/wiki/Quicksort) +- [Quicksort | Robert Sedgewick](http://algs4.cs.princeton.edu/23quicksort/) +- Programming Pearls Column 11 Sorting - gives an in-depth discussion on insertion sort and quick sort +- [Quicksort Analysis](http://7xojrx.com1.z0.glb.clouddn.com/docs/algorithm-exercise/docs/quicksort_analysis.pdf) +- [^programming_pearls]: Programming Pearls From d8fcc15a387563d0b98395cbe06e53fed34cd65c Mon Sep 17 00:00:00 2001 From: billryan Date: Tue, 28 Aug 2018 00:12:14 +0800 Subject: [PATCH 26/49] fix issue #118 --- zh-hans/basics_sorting/quick_sort.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/zh-hans/basics_sorting/quick_sort.md b/zh-hans/basics_sorting/quick_sort.md index 62908736b..fa35c034c 100644 --- a/zh-hans/basics_sorting/quick_sort.md +++ b/zh-hans/basics_sorting/quick_sort.md @@ -142,7 +142,7 @@ public class Sort { } ``` -容易出错的地方在于当前 partition 结束时未将 $$i$$ 和 $$m$$ 交换。比较`alist[i]`和`alist[l]`时只能使用`<`而不是`<=`! 因为只有取`<`才能进入收敛条件,`<=`则可能会出现死循环,因为在`=`时第一个元素可能保持不变进而产生死循环。 +容易出错的地方在于当前 partition 结束时未将 $$i$$ 和 $$m$$ 交换。 相应的结果输出为: @@ -182,6 +182,8 @@ public class Sort { 这样一来对于数组元素均相等的情形下,每次 partition 恰好在中间元素,故共递归调用 $$\log n$$ 次,每层递归调用进行 partition 操作的比较次数总和近似为 $$n$$. 故总计需 $$n \log n$$ 次比较。[^programming_pearls] +可以推断出在最坏情况下,即数组本来就有序,这种方法仍然无法避免 $$O(n^2)$$ 的厄运... 即便如此,这种两边推进的方法大大提高了分区的效率,减少了 swap 的次数。 + ### Python ```python From dacd84562e8e30c4e461f602a206c1f2b3a0cecc Mon Sep 17 00:00:00 2001 From: yuanzhongyan Date: Mon, 27 Aug 2018 10:01:56 +0800 Subject: [PATCH 27/49] fix typo/syntax error --- en/basics_sorting/quick_sort.md | 8 ++++---- en/integer_array/partition_array_by_odd_and_even.md | 2 +- en/linked_list/README.md | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/en/basics_sorting/quick_sort.md b/en/basics_sorting/quick_sort.md index 0a375395b..58e7a6d99 100644 --- a/en/basics_sorting/quick_sort.md +++ b/en/basics_sorting/quick_sort.md @@ -2,9 +2,9 @@ In essence, quick sort is an application of `divide and conquer` strategy. There are usually three steps: -Step1. Pick a pivot -- a random element. -Step2. Partition -- put the elements smaller than pivot to its left and greater ones to its right. -Step3. Recurse -- apply above steps until the whole sequence is sorted. +1. Pick a pivot -- a random element. +2. Partition -- put the elements smaller than pivot to its left and greater ones to its right. +3. Recurse -- apply above steps until the whole sequence is sorted. ## out-in-place implementation @@ -286,7 +286,7 @@ The output: Having analyzed three implementations of quick sort, we may grasp one key difference between *quick sort* and *merge sort* : 1. Merge sort divides the original array into two sub-arrays, and merges the sorted sub-arrays to form a totally ordered one. In this case, recursion happens before processing(merging) the whole array. -2. Quick sort divides the original array into two sub-arrays, and then sort them. The whole array is ordered as soon as the sub-arrays get sorted. In this case, recursion happens after processing(partition) the whole array. +2. Quick sort divides the original array into two sub-arrays, and then sort them. The whole array is sorted as soon as the sub-arrays get sorted. In this case, recursion happens after processing(partition) the whole array. Robert Sedgewick's presentation on [quick sort](http://algs4.cs.princeton.edu/23quicksort/) is strongly recommended. diff --git a/en/integer_array/partition_array_by_odd_and_even.md b/en/integer_array/partition_array_by_odd_and_even.md index f78c16c5e..74bbf0475 100644 --- a/en/integer_array/partition_array_by_odd_and_even.md +++ b/en/integer_array/partition_array_by_odd_and_even.md @@ -72,4 +72,4 @@ Be careful not to forget `left < right` in while loop condition. ### Complexity -To traverse the array, time complexity is $$O(n)$$. And maintain two pointers mean $$O(1)$$ space complexity. +To traverse the array, time complexity is $$O(n)$$. And maintaining two pointers means $$O(1)$$ space complexity. diff --git a/en/linked_list/README.md b/en/linked_list/README.md index 895ae2fc7..a156ec4ea 100644 --- a/en/linked_list/README.md +++ b/en/linked_list/README.md @@ -8,6 +8,6 @@ Frequently made mistakes: - Not recording head node before traversing - returning incorrect pointer to node -The image below serves as a summarization. +The image below serves as a summarization of problems in this section. ![Linked List](../../shared-files/images/linked_list_summary_en.png) From 3b2f1462d6cd00a04f93ecf20c38472391427fb0 Mon Sep 17 00:00:00 2001 From: yuanzhongyan Date: Tue, 28 Aug 2018 15:39:44 +0800 Subject: [PATCH 28/49] [zh-hans en] update kth_largest_element.md: add iterative implementation --- en/basics_sorting/quick_sort.md | 2 +- en/integer_array/kth_largest_element.md | 58 +++++++++++++++++++- zh-hans/integer_array/kth_largest_element.md | 58 +++++++++++++++++++- 3 files changed, 115 insertions(+), 3 deletions(-) diff --git a/en/basics_sorting/quick_sort.md b/en/basics_sorting/quick_sort.md index 58e7a6d99..8e17d6a5c 100644 --- a/en/basics_sorting/quick_sort.md +++ b/en/basics_sorting/quick_sort.md @@ -286,7 +286,7 @@ The output: Having analyzed three implementations of quick sort, we may grasp one key difference between *quick sort* and *merge sort* : 1. Merge sort divides the original array into two sub-arrays, and merges the sorted sub-arrays to form a totally ordered one. In this case, recursion happens before processing(merging) the whole array. -2. Quick sort divides the original array into two sub-arrays, and then sort them. The whole array is sorted as soon as the sub-arrays get sorted. In this case, recursion happens after processing(partition) the whole array. +2. Quick sort divides the original array into two sub-arrays, and then sort them. The whole array is ordered as soon as the sub-arrays get sorted. In this case, recursion happens after processing(partition) the whole array. Robert Sedgewick's presentation on [quick sort](http://algs4.cs.princeton.edu/23quicksort/) is strongly recommended. diff --git a/en/integer_array/kth_largest_element.md b/en/integer_array/kth_largest_element.md index df1cca77a..774e502c6 100644 --- a/en/integer_array/kth_largest_element.md +++ b/en/integer_array/kth_largest_element.md @@ -29,7 +29,7 @@ Trail and error: Comparison-based sorting algorithms don't work because they inc By quick sorting, we get the final index of a pivot. And by comparing that index with `K`, we decide which side (the greater or the smaller) of the pivot to recurse on. -### Java +### Java - Recursion ```java public class Solution { @@ -79,6 +79,62 @@ b. final index of pivot equals K. Since 'Kth **largest**' is wanted, numbers greater than pivot are placed to the left and numbers smaller to the right, which is a little different with typical quick sort code. +### Java - Iteration + +Recursive code is easier to read than to write, and it demands some experience and skill. Here is an iterative implementation. + +``` +class Solution { + public int findKthLargest(int[] A, int k) { + if (A == null || A.length == 0 || k < 0 || k > A.length) { + return -1; + } + + int lo = 0, hi = A.length - 1; + while (lo <= hi) { + int idx = partition(A, lo, hi); + if (idx == k - 1) { + return A[idx]; + } else if (idx < k - 1) { + lo = idx + 1; + } else { + hi = idx - 1; + } + } + + return -1; + } + + private int partition(int[] A, int lo, int hi) { + int pivot = A[lo], i = lo + 1, j = hi; + while (i <= j) { + while (i <= j && A[i] > pivot) { + i++; + } + while (i <= j && A[j] <= pivot) { + j--; + } + if (i < j) { + swap(A, i, j); + } + } + swap(A, lo, j); + + return j; + } + + private void swap(int[] A, int i, int j) { + int tmp = A[i]; + A[i] = A[j]; + A[j] = tmp; + } +} +``` + +### Src Code Analysis + +The `while` loop in `findKthLargest` is very much like that in `binary search`. And `partition` method is just the same as quick sort partition. + ### Complexity Time Complexity. Worse case (when the array is sorted): ***n + n - 1 + ... + 1 = O(n^2)*** . Amortized complexity: ***n + n/2 + n/4 + ... + 1 = O(2n)=O(n)*** . diff --git a/zh-hans/integer_array/kth_largest_element.md b/zh-hans/integer_array/kth_largest_element.md index 3344d1e8b..fa1c9a139 100644 --- a/zh-hans/integer_array/kth_largest_element.md +++ b/zh-hans/integer_array/kth_largest_element.md @@ -27,7 +27,7 @@ adding this problem and creating all test cases. 找第 K 大数,基于比较的排序的方法时间复杂度为 $$O(n)$$, 数组元素无区间限定,故无法使用线性排序。由于只是需要找第 K 大数,这种类型的题通常需要使用快排的思想解决。[Quick Sort](http://algorithm.yuanbin.me/zh-hans/basics_sorting/quick_sort.html) 总结了一些经典模板。这里比较基准值最后的位置的索引值和 K 的大小关系即可递归求解。 -### Java +### Java - 递归求解 ```java public class Solution { @@ -76,6 +76,62 @@ public class Solution { 递归的终止条件有两个,一个是左边界的值等于右边界(实际中其实不会有 l > u), 另一个则是索引值 `m + 1 == k`. 这里找的是第 K 大数,故为降序排列,for 循环中使用`nums[i] > nums[left]` 而不是小于号。 +### Java - 迭代求解 + +递归代码看上去顺理成章,实际上构造递归方法的参数、返回值是需要经验技巧的,自己写起来就会发现机关重重,一次性做到 bug-free 并不容易。下面是一个迭代版的实现。 + +``` +class Solution { + public int findKthLargest(int[] A, int k) { + if (A == null || A.length == 0 || k < 0 || k > A.length) { + return -1; + } + + int lo = 0, hi = A.length - 1; + while (lo <= hi) { + int idx = partition(A, lo, hi); + if (idx == k - 1) { + return A[idx]; + } else if (idx < k - 1) { + lo = idx + 1; + } else { + hi = idx - 1; + } + } + + return -1; + } + + private int partition(int[] A, int lo, int hi) { + int pivot = A[lo], i = lo + 1, j = hi; + while (i <= j) { + while (i <= j && A[i] > pivot) { + i++; + } + while (i <= j && A[j] <= pivot) { + j--; + } + if (i < j) { + swap(A, i, j); + } + } + swap(A, lo, j); + + return j; + } + + private void swap(int[] A, int i, int j) { + int tmp = A[i]; + A[i] = A[j]; + A[j] = tmp; + } +} +``` + +### 源码分析 + +`findKthLargest` 里的 `while` 循环体有种二分搜索的既视感,`partition` 就是标典型的快排分区写法。 + ### 复杂度分析 最坏情况下需要遍历 $$ n + n - 1 + ... + 1 = O(n^2)$$, 平均情况下 $$n + n/2 + n/4 + ... + 1 = O(2n)=O(n)$$. 故平均情况时间复杂度为 $$O(n)$$. 交换数组的值时使用了额外空间,空间复杂度 $$O(1)$$. From 6cd23f4636b5d36fde5292bdf6df59a7de02f2f0 Mon Sep 17 00:00:00 2001 From: billryan Date: Tue, 4 Dec 2018 23:20:24 +0800 Subject: [PATCH 29/49] fix #121 remove 404 pages --- zh-hans/SUMMARY.md | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/zh-hans/SUMMARY.md b/zh-hans/SUMMARY.md index d4633552d..3620b680f 100644 --- a/zh-hans/SUMMARY.md +++ b/zh-hans/SUMMARY.md @@ -33,7 +33,6 @@ * [Greatest Common Divisor](basics_algorithm/math/gcd.md) * [Prime](basics_algorithm/math/prime.md) * [Knapsack](basics_algorithm/knapsack.md) - * [Counting Problem](basics_algorithm/counting_problem.md) * [Probability](basics_algorithm/probability/README.md) * [Shuffle](basics_algorithm/probability/shuffle.md) * [Bitmap](basics_algorithm/bitmap.md) @@ -131,7 +130,6 @@ * [Sort List](linked_list/sort_list.md) * [Insertion Sort List](linked_list/insertion_sort_list.md) * [Palindrome Linked List](linked_list/palindrome_linked_list.md) - * [Delete Node in the Middle of Singly Linked List](linked_list/delete_node_in_the_middle_of_singly_linked_list.md) * [LRU Cache](linked_list/lru_cache.md) * [Rotate List](linked_list/rotate_list.md) * [Swap Nodes in Pairs](linked_list/swap_nodes_in_pairs.md) @@ -203,7 +201,6 @@ * [Maximum Subarray II](dynamic_programming/maximum_subarray_ii.md) * [Longest Increasing Continuous subsequence](dynamic_programming/longest_increasing_continuous_subsequence.md) * [Longest Increasing Continuous subsequence II](dynamic_programming/longest_increasing_continuous_subsequence_ii.md) - * [Egg Dropping Puzzle](dynamic_programming/egg_dropping_puzzle.md) * [Maximal Square](dynamic_programming/maximal_square.md) * [Graph](graph/README.md) * [Find the Connected Component in the Undirected Graph](graph/find_the_connected_component_in_the_undirected_graph.md) @@ -217,7 +214,6 @@ * [Sliding Window Maximum](data_structure/sliding_window_maximum.md) * [Longest Words](data_structure/longest_words.md) * [Heapify](data_structure/heapify.md) - * [Kth Smallest Number in Sorted Matrix](data_structure/kth_smallest_number_in_sorted_matrix.md) * [Big Data](bigdata/README.md) * [Top K Frequent Words (Map Reduce)](bigdata/top_k_frequent_words_map_reduce.md) * [Top K Frequent Words](bigdata/top_k_frequent_words.md) @@ -237,8 +233,6 @@ * [Reverse Integer](problem_misc/reverse_integer.md) * [Gray Code](problem_misc/gray_code.md) * [Find the Missing Number](problem_misc/find_the_missing_number.md) - * [N Queens](problem_misc/n_queens.md) - * [N Queens II](problem_misc/n_queens_ii.md) * [Minimum Window Substring](problem_misc/minimum_window_substring.md) * [Continuous Subarray Sum](problem_misc/continuous_subarray_sum.md) * [Continuous Subarray Sum II](problem_misc/continuous_subarray_sum_ii.md) @@ -264,10 +258,5 @@ * [Appendix I Interview and Resume](appendix_i_interview_and_resume/README.md) * [Interview](appendix_i_interview_and_resume/interview.md) * [Resume](appendix_i_interview_and_resume/resume.md) -* [Appendix II System Design](appendix_ii_system_design/README.md) - * [The System Design Process](appendix_ii_system_design/the_system_design_process.md) - * [Statistics](appendix_ii_system_design/statistics.md) - * [System Architecture](appendix_ii_system_design/system_architecture.md) - * [Scalability](appendix_ii_system_design/scalability.md) * [Tags](tags.md) From d5366b633e48867e7cea7359a3cd937031e4df4e Mon Sep 17 00:00:00 2001 From: Sean Han Date: Tue, 1 Jan 2019 09:28:47 -0800 Subject: [PATCH 30/49] Fix a word issue `start``end` is incorrectly rendered to contain two back-quotes, I separated them. --- zh-hans/basics_algorithm/binary_search.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zh-hans/basics_algorithm/binary_search.md b/zh-hans/basics_algorithm/binary_search.md index 48a5f324b..ffcbde736 100644 --- a/zh-hans/basics_algorithm/binary_search.md +++ b/zh-hans/basics_algorithm/binary_search.md @@ -170,7 +170,7 @@ public class Main { 3. A[mid] ==, >, < 在循环中, 分三种情况讨论边界。 要注意, 在移动`start`和`end`的时候, 只要单纯的把指针指向`mid`的位置, 不要`+1`或者`-1`。 因为只移动边界到`mid`的位置, 不会误删除target。在工程中,尽量在程序最后的时候统一写`return`, 这样可以增强可读性。 4. A[start], A[end]? target - 在循环结束时,因为只有1~2个元素需要讨论,所以结果非常容易解释清楚。 只存在的2种情况为, 1. `start + 1 == end` 边界指向相邻的两个元素, 这时只需要分情况讨论`start`和`end`与target的关系,就可以得出结果。 2. `start == end` 边界指向同一元素, 其实这个情况还是可以按照1的方法,分成`start``end`讨论,只不过讨论结果一样而已。 + 在循环结束时,因为只有1~2个元素需要讨论,所以结果非常容易解释清楚。 只存在的2种情况为, 1. `start + 1 == end` 边界指向相邻的两个元素, 这时只需要分情况讨论`start`和`end`与target的关系,就可以得出结果。 2. `start == end` 边界指向同一元素, 其实这个情况还是可以按照1的方法,分成`start`与`end`讨论,只不过讨论结果一样而已。 ### Python ```python From 461c909bd7c20b9498bbfc8961562e955e2c9662 Mon Sep 17 00:00:00 2001 From: YAO Date: Sun, 14 Apr 2019 17:08:07 +0800 Subject: [PATCH 31/49] solved list index out of range MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit python代码 flag = array[left] > array[right] 没有判断 left 和 right 的大小,可能会越界。 例: [6, 8, 7, 4, 5, 3, 2, 1] --- zh-hans/basics_data_structure/heap.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/zh-hans/basics_data_structure/heap.md b/zh-hans/basics_data_structure/heap.md index 6e9cdcd0a..dc4fc3868 100644 --- a/zh-hans/basics_data_structure/heap.md +++ b/zh-hans/basics_data_structure/heap.md @@ -42,7 +42,10 @@ class MaxHeap: left, right = 2 * i + 1, 2 * i + 2 max_index = i # should compare two chidren then determine which one to swap with - flag = array[left] > array[right] + if left < len(array) and right < len(array): + flag = array[left] > array[right] + else: + flag = True if left < len(array) and array[left] > array[max_index] and flag: max_index = left if right < len(array) and array[right] > array[max_index] and not flag: From 0ddfbd237726bb134992dac50a7eb6dbdc36fc7b Mon Sep 17 00:00:00 2001 From: just4cn <42799632+just4cn@users.noreply.github.com> Date: Thu, 9 May 2019 15:12:38 +0800 Subject: [PATCH 32/49] python default value is None MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 这个地方空值是None,不是null。 --- zh-hans/basics_data_structure/linked_list.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zh-hans/basics_data_structure/linked_list.md b/zh-hans/basics_data_structure/linked_list.md index 29c111377..26964882f 100644 --- a/zh-hans/basics_data_structure/linked_list.md +++ b/zh-hans/basics_data_structure/linked_list.md @@ -131,7 +131,7 @@ public ListNode reverse(ListNode head) { class DListNode: def __init__(self, val): self.val = val - self.prev = self.next = null + self.prev = self.next = None def reverse(self, head): curt = None From 8e0bb267e9e975192228d96fe7ce1fd0f90341ca Mon Sep 17 00:00:00 2001 From: xianqi <36734208+lxqqxl@users.noreply.github.com> Date: Tue, 21 May 2019 19:02:42 +0800 Subject: [PATCH 33/49] Update linked_list.md add get mid node and weather has a circle --- zh-hans/basics_data_structure/linked_list.md | 36 ++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/zh-hans/basics_data_structure/linked_list.md b/zh-hans/basics_data_structure/linked_list.md index 26964882f..b94a78159 100644 --- a/zh-hans/basics_data_structure/linked_list.md +++ b/zh-hans/basics_data_structure/linked_list.md @@ -218,3 +218,39 @@ class NodeCircle: else: return False ``` +```c++: is a circle +class List +{ +public: +bool iscircle(ListNode* head) +{ + if (!head || !head->next) return false; + ListNode *low = head, *fast = high; + while(fast && fast->next) + { + low = low->next; + fast = fast->next->next; + if (low == fast) return true; + } + return false; +} +}; +``` + +```c++ +class List +{ +public: +ListNode* InLisNodet(ListNode *head) +{ + if (!head || !head->next) return head; + ListNode *low = head, *fast = head; + while(fast && fast->next) + { + low = low->next; + fast = fast->next->next; + } + return low; +} +}; +``` From 45e6f0f0e4ca65e110a44a27eebfc3826f7196f8 Mon Sep 17 00:00:00 2001 From: billryan Date: Mon, 17 Jun 2019 22:27:36 +0800 Subject: [PATCH 34/49] remove unused md --- zh-hans/SUMMARY.md | 1 - 1 file changed, 1 deletion(-) diff --git a/zh-hans/SUMMARY.md b/zh-hans/SUMMARY.md index 3620b680f..4949047e7 100644 --- a/zh-hans/SUMMARY.md +++ b/zh-hans/SUMMARY.md @@ -3,7 +3,6 @@ * [Preface](README.md) * [FAQ](faq/README.md) * [Guidelines for Contributing](faq/guidelines_for_contributing.md) - * [Contributors](faq/contributors.md) * [Part I - Basics](part_i_basics/README.md) * [Basics Data Structure](basics_data_structure/README.md) * [String](basics_data_structure/string.md) From 0616c7b9bbd28e5c6d376f14b55b58b59c7e11d4 Mon Sep 17 00:00:00 2001 From: billryan Date: Sat, 3 Aug 2019 15:53:15 +0800 Subject: [PATCH 35/49] fix issue and update problem --- zh-hans/linked_list/insertion_sort_list.md | 44 ++++++++++++++++++---- 1 file changed, 36 insertions(+), 8 deletions(-) diff --git a/zh-hans/linked_list/insertion_sort_list.md b/zh-hans/linked_list/insertion_sort_list.md index eaeb20e77..097cd1ac5 100644 --- a/zh-hans/linked_list/insertion_sort_list.md +++ b/zh-hans/linked_list/insertion_sort_list.md @@ -1,16 +1,44 @@ # Insertion Sort List +Tags: Linked List, Sort, Medium + ## Question -- leetcode: [Insertion Sort List | LeetCode OJ](https://leetcode.com/problems/insertion-sort-list/) -- lintcode: [(173) Insertion Sort List](http://www.lintcode.com/en/problem/insertion-sort-list/) +- leetcode: [Insertion Sort List](https://leetcode.com/problems/insertion-sort-list/) +- lintcode: [Insertion Sort List](https://www.lintcode.com/problem/insertion-sort-list/) + +### Problem Statement -``` Sort a linked list using insertion sort. -Example -Given 1->3->2->0->null, return 0->1->2->3->null. -``` +![](https://upload.wikimedia.org/wikipedia/commons/0/0f/Insertion-sort- +example-300px.gif) +A graphical example of insertion sort. The partial sorted list (black) +initially contains only the first element in the list. +With each iteration one element (red) is removed from the input data and +inserted in-place into the sorted list + + +**Algorithm of Insertion Sort:** + + 1. Insertion sort iterates, consuming one input element each repetition, and growing a sorted output list. + 2. At each iteration, insertion sort removes one element from the input data, finds the location it belongs within the sorted list, and inserts it there. + 3. It repeats until no input elements remain. + + +**Example 1:** + + + **Input:** 4->2->1->3 + **Output:** 1->2->3->4 + + +**Example 2:** + + + **Input:** -1->5->3->4->0 + **Output:** -1->0->3->4->5 + ## 题解1 - 从首到尾遍历 @@ -130,9 +158,9 @@ Python 的实现在 lintcode 上会提示 TLE, leetcode 上勉强通过,这里 ### 复杂度分析 -最好情况:原链表已经有序,每得到一个新节点都需要 $$i$$ 次比较和一次交换, 时间复杂度为 $$1/2O(n^2) + O(n)$$, 使用了 dummy 和 pre, 空间复杂度近似为 $$O(1)$$. +最好情况:原链表已经逆序,每得到一个新节点仅需要一次比较, 时间复杂度为 $$O(n)$$, 使用了 dummy 和 pre, 空间复杂度近似为 $$O(1)$$. -最坏情况:原链表正好逆序,由于是单向链表只能从前往后依次遍历,交换和比较次数均为 $$1/2 O(n^2)$$, 总的时间复杂度近似为 $$O(n^2)$$, 空间复杂度同上,近似为 $$O(1)$$. +最坏情况:原链表正好升序,由于是单向链表只能从前往后依次遍历,交换和比较次数均为 $$1/2 O(n^2)$$, 总的时间复杂度近似为 $$O(n^2)$$, 空间复杂度同上,近似为 $$O(1)$$. ## 题解2 - 优化有序链表 From fed61af454ece2b4e042241b0a6be9c18ae2b394 Mon Sep 17 00:00:00 2001 From: billryan Date: Sat, 3 Aug 2019 15:55:14 +0800 Subject: [PATCH 36/49] remove unused files, use https://github.com/billryan/heroku4ds-algo instead --- scripts/leetcode.py | 78 ------------------------------- scripts/lintcode.py | 95 -------------------------------------- scripts/ojhtml2markdown.py | 73 ----------------------------- scripts/requirements.txt | 15 ------ 4 files changed, 261 deletions(-) delete mode 100644 scripts/leetcode.py delete mode 100644 scripts/lintcode.py delete mode 100644 scripts/ojhtml2markdown.py delete mode 100644 scripts/requirements.txt diff --git a/scripts/leetcode.py b/scripts/leetcode.py deleted file mode 100644 index adad1c428..000000000 --- a/scripts/leetcode.py +++ /dev/null @@ -1,78 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - - -from selenium import webdriver - - -class Leetcode(object): - - def __init__(self): - chrome_options = webdriver.ChromeOptions() - chrome_options.add_argument('--headless') - chrome_options.add_argument('--disable-gpu') - self.driver = webdriver.Chrome(chrome_options=chrome_options) - - def open_url(self, url): - self.url = url - print('open URL: {}'.format(url)) - self.driver.get(url) - - def teardown(self): - self.driver.close() - - def get_title(self): - print('get title...') - raw_title = self.driver.title - title = raw_title[:-len(' - LeetCode')].strip() - return title - - def get_description(self): - print('get description...') - elem = self.driver.find_element_by_class_name('question-description') - return elem.get_attribute('innerHTML') - - def get_difficulty(self): - print('get difficulty...') - elem = self.driver.find_element_by_class_name('difficulty-label') - return elem.get_attribute('innerHTML') - - def get_tags(self): - print('get tags...') - tags_id = self.driver.find_element_by_id('tags-topics') - tags_id_a = tags_id.find_elements_by_tag_name('a') - tags = [] - for i in tags_id_a: - tag = i.get_attribute('innerHTML') - tags.append(tag) - return tags - - def _clean_url(self, url): - new_url = ['https:/', 'leetcode.com', 'problems'] - problem_slug = url[len('https://'):].strip('/').split('/')[2] - new_url.append(problem_slug) - return '/'.join(new_url) - - def get_problem_all(self, url): - """获取所有细节""" - print('get all the problem detail...') - self.open_url(url) - title = self.get_title() - difficulty = self.get_difficulty() - tags = self.get_tags() - description = self.get_description() - problem = { - 'title': title, - 'difficulty': difficulty, - 'tags': tags, - 'description': description, - 'url': self._clean_url(url) - } - self.teardown() - return problem - - -if __name__ == '__main__': - url = 'https://leetcode.com/problems/palindrome-number' - leetcode = Leetcode() - print(leetcode.get_problem_all(url)) diff --git a/scripts/lintcode.py b/scripts/lintcode.py deleted file mode 100644 index 3a14a6f3b..000000000 --- a/scripts/lintcode.py +++ /dev/null @@ -1,95 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - - -# from pyquery import PyQuery as pq -import requests - - -class Lintcode(object): - - def __init__(self): - self.driver = None - - def open_url(self, url): - print('open URL: {}'.format(url)) - url = url.strip('description') - url = url.strip('/') - self.url = url - lintcode_unique_name = url.split('/')[-1] - req_url = 'https://www.lintcode.com/api/problems/detail/?unique_name_or_alias={}&_format=detail'.format(lintcode_unique_name) - self.driver = requests.get(req_url).json() - - def get_title(self): - print('get title...') - title = self.driver['title'] - return title - - def get_description(self): - print('get description...') - desc = self.driver['description'] - notice = self.driver['notice'] - clarification = self.driver['clarification'] - example = self.driver['example'] - challenge = self.driver['challenge'] - desc_full = desc - if notice: - desc_full += '\n\n#### Notice\n\n' + notice - if clarification: - desc_full += '\n\n#### Clarification\n\n' + clarification - if example: - desc_full += '\n\n#### Example\n\n' + example - if challenge: - desc_full += '\n\n#### Challenge\n\n' + challenge - - return desc_full - - def get_difficulty(self): - print('get difficulty...') - mapping = {1: 'Easy', 2: 'Medium', 3: 'Hard'} - difficulty = mapping.get(self.driver['level'], 'unknown') - return difficulty - - def get_tags(self): - print('get tags...') - tags = [] - for i in self.driver['tags']: - if i['alias']: - tags.append(i['alias']) - else: - tags.append(i['name']) - return tags - - def _get_related(self): - print('get related...') - related = self.driver('.m-t-lg:last') - return related - - def _clean_url(self, url): - new_url = ['http:/', 'www.lintcode.com', 'en/problem'] - problem_slug = url[len('http://'):].strip('/').split('/')[3] - new_url.append(problem_slug) - return '/'.join(new_url) - - def get_problem_all(self, url): - """获取所有细节""" - print('get all the problem detail...') - self.open_url(url) - title = self.get_title() - difficulty = self.get_difficulty() - tags = self.get_tags() - description = self.get_description() - problem = { - 'title': title, - 'difficulty': difficulty, - 'tags': tags, - 'description': description, - 'url': self.url - } - return problem - - -if __name__ == '__main__': - url = 'https://www.lintcode.com/problem/topological-sorting' - lintcode = Lintcode() - print(lintcode.get_problem_all(url)) diff --git a/scripts/ojhtml2markdown.py b/scripts/ojhtml2markdown.py deleted file mode 100644 index e07d48633..000000000 --- a/scripts/ojhtml2markdown.py +++ /dev/null @@ -1,73 +0,0 @@ -#!/usr/bin/env python3 -"""Parse Leetcode/Lintcode html page to markdown.""" - -import frontmatter -import requests -import html2text - - -class YamlContent(object): - def __init__(self, metadata, content): - self.metadata_ = metadata - self.content_ = content - - @property - def metadata(self): - return self.metadata_ - - @property - def content(self): - return self.content_ - - content = '# ' + title - yaml_content = YamlContent(metadata, content) - - -def leet_lint_url(url): - problem_slug = url.strip('/').split('/')[-1] - leetcode_url = 'https://leetcode.com/problems/{}/'.format(problem_slug) - lintcode_url = 'https://www.lintcode.com/problem/{}/'.format(problem_slug) - urls = {} - for url in [leetcode_url, lintcode_url]: - response = requests.head(url) - if response.status_code != 404: - if url.startswith('https://leetcode'): - urls['leetcode'] = url - elif url.startswith('https://www.lintcode'): - urls['lintcode'] = url - else: - print('cannot find url with: {}'.format(url)) - return urls - - -def problem2md(problem, convert_desc=True): - metadata = { - 'title': problem['title'], - 'difficulty': problem['difficulty'] - } - if problem['tags']: - metadata['tags'] = problem['tags'] - - description = problem['description'] - description_md = description - if convert_desc: - h = html2text.HTML2Text() - description_md = h.handle(description) - - lines = [] - lines.append('# ' + problem['title'] + '\n') - lines.append('## Problem\n') - lines.append('### Metadata\n') - if problem['tags']: - lines.append('- tags: ' + ', '.join(problem['tags'])) - lines.append('- difficulty: ' + problem['difficulty']) - urls = leet_lint_url(problem['url']) - for k, v in urls.items(): - lines.append('- source({}): <{}>'.format(k, v)) - lines.append('\n### Description\n') - lines.append(description_md) - - content = '\n'.join(lines) - yaml_content = YamlContent(metadata, content) - problem_md = frontmatter.dumps(yaml_content, allow_unicode=True) - return problem_md diff --git a/scripts/requirements.txt b/scripts/requirements.txt deleted file mode 100644 index 833b824c2..000000000 --- a/scripts/requirements.txt +++ /dev/null @@ -1,15 +0,0 @@ -certifi==2018.1.18 -chardet==3.0.4 -cssselect==1.0.3 -html2text==2018.1.9 -idna==2.6 -lxml==4.1.1 -pyquery==1.4.0 -python-frontmatter==0.4.2 -python-slugify==1.2.4 -PyYAML==3.12 -requests==2.18.4 -selenium==3.10.0 -six==1.11.0 -Unidecode==1.0.22 -urllib3==1.22 From b21b5a3cbb2aecada10d7c3f32347a74ce8c2e41 Mon Sep 17 00:00:00 2001 From: billryan Date: Sat, 10 Aug 2019 11:32:49 +0800 Subject: [PATCH 37/49] add basic data structure and test --- codes/algorithm-java/.gitignore | 10 ++++ codes/algorithm-java/pom.xml | 59 +++++++++++++++++++ .../src/main/java/basic/DataStructure.java | 22 +++++++ .../src/main/resources/log4j.properties | 9 +++ .../test/java/basic/DataStructureTest.java | 33 +++++++++++ 5 files changed, 133 insertions(+) create mode 100644 codes/algorithm-java/.gitignore create mode 100644 codes/algorithm-java/pom.xml create mode 100644 codes/algorithm-java/src/main/java/basic/DataStructure.java create mode 100644 codes/algorithm-java/src/main/resources/log4j.properties create mode 100644 codes/algorithm-java/src/test/java/basic/DataStructureTest.java diff --git a/codes/algorithm-java/.gitignore b/codes/algorithm-java/.gitignore new file mode 100644 index 000000000..1d1652eb2 --- /dev/null +++ b/codes/algorithm-java/.gitignore @@ -0,0 +1,10 @@ + +.idea/ +*.iml +project/ + +out/ +target/ + +.DS_Store + diff --git a/codes/algorithm-java/pom.xml b/codes/algorithm-java/pom.xml new file mode 100644 index 000000000..ae0f17fcd --- /dev/null +++ b/codes/algorithm-java/pom.xml @@ -0,0 +1,59 @@ + + + 4.0.0 + + me.yuanbin + algorithm-java + 1.0-SNAPSHOT + + + 1.8 + 1.8 + 4.12 + 1.7.25 + 1.18.8 + + + + + org.projectlombok + lombok + ${lombok.version} + provided + + + + org.slf4j + slf4j-log4j12 + ${slf4j.version} + provided + + + + junit + junit + ${junit.version} + test + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + + + org.apache.maven.plugins + maven-shade-plugin + 3.2.1 + + + + + \ No newline at end of file diff --git a/codes/algorithm-java/src/main/java/basic/DataStructure.java b/codes/algorithm-java/src/main/java/basic/DataStructure.java new file mode 100644 index 000000000..452e552df --- /dev/null +++ b/codes/algorithm-java/src/main/java/basic/DataStructure.java @@ -0,0 +1,22 @@ +package basic; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.ArrayDeque; +import java.util.Deque; +import java.util.LinkedList; +import java.util.Queue; + +/** + * Basic data structure including queue, stack, graph... + * + * @author billryan + * @date 2019-06-22 + */ +@Data +@NoArgsConstructor +public class DataStructure { + private Queue queue = new LinkedList<>(); + private Deque stack = new ArrayDeque<>(); +} diff --git a/codes/algorithm-java/src/main/resources/log4j.properties b/codes/algorithm-java/src/main/resources/log4j.properties new file mode 100644 index 000000000..0a64bd839 --- /dev/null +++ b/codes/algorithm-java/src/main/resources/log4j.properties @@ -0,0 +1,9 @@ +# Root logger option +# By default, everything goes to console and file +log4j.rootLogger=INFO, stdout + +# Direct log messages to stdout +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.Target=System.out +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n diff --git a/codes/algorithm-java/src/test/java/basic/DataStructureTest.java b/codes/algorithm-java/src/test/java/basic/DataStructureTest.java new file mode 100644 index 000000000..bad1fe74c --- /dev/null +++ b/codes/algorithm-java/src/test/java/basic/DataStructureTest.java @@ -0,0 +1,33 @@ +package basic; + +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.Deque; + +/** + * @author billryan + * @date 10/8/2019 10:59 + */ +public class DataStructureTest { + + private static final Logger log = LoggerFactory.getLogger(DataStructureTest.class); + + @Test + public void testStack() { + DataStructure ds = new DataStructure<>(); + Deque stack = ds.getStack(); + stack.push(1); + stack.push(2); + stack.push(3); + + int peek = 3; + while (!stack.isEmpty()) { + int stackPeek = stack.pop(); + log.info("stack peek: {}", stackPeek); + assert peek == stackPeek; + peek--; + } + } +} From 5d1d755dbdaa5c51e99516de7ad6dae35ec65f7a Mon Sep 17 00:00:00 2001 From: billryan Date: Sat, 10 Aug 2019 11:37:28 +0800 Subject: [PATCH 38/49] add queue test --- .../src/test/java/basic/DataStructureTest.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/codes/algorithm-java/src/test/java/basic/DataStructureTest.java b/codes/algorithm-java/src/test/java/basic/DataStructureTest.java index bad1fe74c..ddd5aa911 100644 --- a/codes/algorithm-java/src/test/java/basic/DataStructureTest.java +++ b/codes/algorithm-java/src/test/java/basic/DataStructureTest.java @@ -5,6 +5,7 @@ import org.slf4j.LoggerFactory; import java.util.Deque; +import java.util.Queue; /** * @author billryan @@ -14,6 +15,23 @@ public class DataStructureTest { private static final Logger log = LoggerFactory.getLogger(DataStructureTest.class); + @Test + public void testQueue() { + DataStructure ds = new DataStructure<>(); + Queue queue = ds.getQueue(); + queue.offer(1); + queue.offer(2); + queue.offer(3); + + int peek = 1; + while (!queue.isEmpty()) { + int queuePeek = queue.poll(); + log.info("queue peek: {}", queuePeek); + assert peek == queuePeek; + peek++; + } + } + @Test public void testStack() { DataStructure ds = new DataStructure<>(); From b9376cd21c208f1ca999b545770461099d5d178a Mon Sep 17 00:00:00 2001 From: billryan Date: Sat, 10 Aug 2019 12:06:14 +0800 Subject: [PATCH 39/49] split data structure into queue and stack --- .../test/java/basic/DataStructureTest.java | 36 ------------------- .../src/test/java/basic/QueueTest.java | 33 +++++++++++++++++ .../src/test/java/basic/StackTest.java | 33 +++++++++++++++++ 3 files changed, 66 insertions(+), 36 deletions(-) create mode 100644 codes/algorithm-java/src/test/java/basic/QueueTest.java create mode 100644 codes/algorithm-java/src/test/java/basic/StackTest.java diff --git a/codes/algorithm-java/src/test/java/basic/DataStructureTest.java b/codes/algorithm-java/src/test/java/basic/DataStructureTest.java index ddd5aa911..7577a95b6 100644 --- a/codes/algorithm-java/src/test/java/basic/DataStructureTest.java +++ b/codes/algorithm-java/src/test/java/basic/DataStructureTest.java @@ -4,9 +4,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.Deque; -import java.util.Queue; - /** * @author billryan * @date 10/8/2019 10:59 @@ -15,37 +12,4 @@ public class DataStructureTest { private static final Logger log = LoggerFactory.getLogger(DataStructureTest.class); - @Test - public void testQueue() { - DataStructure ds = new DataStructure<>(); - Queue queue = ds.getQueue(); - queue.offer(1); - queue.offer(2); - queue.offer(3); - - int peek = 1; - while (!queue.isEmpty()) { - int queuePeek = queue.poll(); - log.info("queue peek: {}", queuePeek); - assert peek == queuePeek; - peek++; - } - } - - @Test - public void testStack() { - DataStructure ds = new DataStructure<>(); - Deque stack = ds.getStack(); - stack.push(1); - stack.push(2); - stack.push(3); - - int peek = 3; - while (!stack.isEmpty()) { - int stackPeek = stack.pop(); - log.info("stack peek: {}", stackPeek); - assert peek == stackPeek; - peek--; - } - } } diff --git a/codes/algorithm-java/src/test/java/basic/QueueTest.java b/codes/algorithm-java/src/test/java/basic/QueueTest.java new file mode 100644 index 000000000..a39d4e76d --- /dev/null +++ b/codes/algorithm-java/src/test/java/basic/QueueTest.java @@ -0,0 +1,33 @@ +package basic; + +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.LinkedList; +import java.util.Queue; + +/** + * @author billryan + * @date 10/8/2019 12:05 + */ +public class QueueTest { + + private static final Logger log = LoggerFactory.getLogger(QueueTest.class); + + @Test + public void testQueue() { + Queue queue = new LinkedList<>(); + queue.offer(1); + queue.offer(2); + queue.offer(3); + + int peek = 1; + while (!queue.isEmpty()) { + int queuePeek = queue.poll(); + log.info("queue peek: {}", queuePeek); + assert peek == queuePeek; + peek++; + } + } +} diff --git a/codes/algorithm-java/src/test/java/basic/StackTest.java b/codes/algorithm-java/src/test/java/basic/StackTest.java new file mode 100644 index 000000000..3eb4e57f6 --- /dev/null +++ b/codes/algorithm-java/src/test/java/basic/StackTest.java @@ -0,0 +1,33 @@ +package basic; + +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.ArrayDeque; +import java.util.Deque; + +/** + * @author billryan + * @date 10/8/2019 12:04 + */ +public class StackTest { + + private static final Logger log = LoggerFactory.getLogger(StackTest.class); + + @Test + public void testStack() { + Deque stack = new ArrayDeque<>(); + stack.push(1); + stack.push(2); + stack.push(3); + + int peek = 3; + while (!stack.isEmpty()) { + int stackPeek = stack.pop(); + log.info("stack peek: {}", stackPeek); + assert peek == stackPeek; + peek--; + } + } +} From 12738d34d2d3eda9ab58f1527e82bcc54686b05b Mon Sep 17 00:00:00 2001 From: billryan Date: Fri, 23 Aug 2019 21:46:37 +0800 Subject: [PATCH 40/49] update problem --- .../longest_consecutive_sequence.md | 71 +++++++++---------- 1 file changed, 32 insertions(+), 39 deletions(-) diff --git a/zh-hans/problem_misc/longest_consecutive_sequence.md b/zh-hans/problem_misc/longest_consecutive_sequence.md index 1af4e1542..6c08b6a8e 100644 --- a/zh-hans/problem_misc/longest_consecutive_sequence.md +++ b/zh-hans/problem_misc/longest_consecutive_sequence.md @@ -1,26 +1,26 @@ # Longest Consecutive Sequence -## Question +Tags: Array, Union Find, Hard -- leetcode: [Longest Consecutive Sequence | LeetCode OJ](https://leetcode.com/problems/longest-consecutive-sequence/) -- lintcode: [(124) Longest Consecutive Sequence](http://www.lintcode.com/en/problem/longest-consecutive-sequence/) +## Question +- leetcode: [Longest Consecutive Sequence](https://leetcode.com/problems/longest-consecutive-sequence/) +- lintcode: [Longest Consecutive Sequence](https://www.lintcode.com/problem/longest-consecutive-sequence/) ### Problem Statement Given an unsorted array of integers, find the length of the longest consecutive elements sequence. -#### Example - -Given `[100, 4, 200, 1, 3, 2]`, -The longest consecutive elements sequence is `[1, 2, 3, 4]`. Return its -length: `4`. - -#### Clarification - Your algorithm should run in O(_n_) complexity. +**Example:** + + + + **Input:** [100, 4, 200, 1, 3, 2] + **Output:** 4 + **Explanation:** The longest consecutive elements sequence is [1, 2, 3, 4]. Therefore its length is 4. ## 题解 @@ -29,40 +29,33 @@ Your algorithm should run in O(_n_) complexity. ### Java ```java -public class Solution { - /** - * @param nums: A list of integers - * @return an integer - */ - public int longestConsecutive(int[] num) { - if (num == null || num.length == 0) return 0; - - // add number to hashset - Set hashset = new HashSet(); - for (int n : num) { - hashset.add(n); +class Solution { + public int longestConsecutive(int[] nums) { + if (nums == null || nums.length <= 0) return 0; + Set sets = new HashSet<>(nums.length); + for (int num : nums) { + sets.add(num); } - int lcs = 0; - for (int n : num) { - int i = n, count = 1; - hashset.remove(n); - // i-- - while (hashset.contains(--i)) { - count++; - hashset.remove(i); + int result = 1; + for (int num : nums) { + int seq = 1; + int right = num, left = num; + // right + while (sets.contains(++right)) { + seq++; + sets.remove(right); } - // i++ - i = n; - while (hashset.contains(++i)) { - count++; - hashset.remove(i); + // left + while (sets.contains(--left)) { + seq++; + sets.remove(left); } - // update lcs - lcs = Math.max(lcs, count); + sets.remove(num); + if (seq > result) result = seq; } - return lcs; + return result; } } ``` From 206d104c4224fe2fa717251a61d0b1074a41b881 Mon Sep 17 00:00:00 2001 From: billryan Date: Fri, 23 Aug 2019 23:14:24 +0800 Subject: [PATCH 41/49] update problem --- zh-hans/exhaustive_search/combination_sum.md | 67 ++++++++++++-------- 1 file changed, 42 insertions(+), 25 deletions(-) diff --git a/zh-hans/exhaustive_search/combination_sum.md b/zh-hans/exhaustive_search/combination_sum.md index 2bd216eb4..0ebb9d349 100644 --- a/zh-hans/exhaustive_search/combination_sum.md +++ b/zh-hans/exhaustive_search/combination_sum.md @@ -1,33 +1,50 @@ # Combination Sum +Tags: Array, Backtracking, Medium + ## Question -- leetcode: [Combination Sum | LeetCode OJ](https://leetcode.com/problems/combination-sum/) -- lintcode: [(135) Combination Sum](http://www.lintcode.com/en/problem/combination-sum/) +- leetcode: [Combination Sum](https://leetcode.com/problems/combination-sum/) +- lintcode: [Combination Sum](https://www.lintcode.com/problem/combination-sum/) + +### Problem Statement + +Given a **set** of candidate numbers (`candidates`) **(without duplicates)** +and a target number (`target`), find all unique combinations in `candidates` +where the candidate numbers sums to `target`. + +The **same** repeated number may be chosen from `candidates` unlimited number +of times. + +**Note:** + + * All numbers (including `target`) will be positive integers. + * The solution set must not contain duplicate combinations. + +**Example 1:** + + + + **Input:** candidates = [2,3,6,7], target = 7, + **A solution set is:** + [ + [7], + [2,2,3] + ] + + +**Example 2:** + + + + **Input:** candidates = [2,3,5], target = 8, + **A solution set is:** + [ + [2,2,2,2], + [2,3,3], + [3,5] + ] -``` -Given a set of candidate numbers (C) and a target number (T), -find all unique combinations in C where the candidate numbers sums to T. -The same repeated number may be chosen from C unlimited number of times. - -For example, given candidate set 2,3,6,7 and target 7, -A solution set is: -[7] -[2, 2, 3] - -Have you met this question in a real interview? Yes -Example -given candidate set 2,3,6,7 and target 7, -A solution set is: -[7] -[2, 2, 3] - -Note -- All numbers (including target) will be positive integers. -- Elements in a combination (a1, a2, … , ak) must be in non-descending order. -(ie, a1 ≤ a2 ≤ … ≤ ak). -- The solution set must not contain duplicate combinations. -``` ## 题解 From 40e0abbe3b49a04ec03121a854719602d51dbc92 Mon Sep 17 00:00:00 2001 From: Scarlett_722 Date: Fri, 27 Sep 2019 11:38:12 -0400 Subject: [PATCH 42/49] Update typo for the comments. --- zh-hans/binary_search/search_in_rotated_sorted_array_ii.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/zh-hans/binary_search/search_in_rotated_sorted_array_ii.md b/zh-hans/binary_search/search_in_rotated_sorted_array_ii.md index faa162c97..ce96ce032 100644 --- a/zh-hans/binary_search/search_in_rotated_sorted_array_ii.md +++ b/zh-hans/binary_search/search_in_rotated_sorted_array_ii.md @@ -102,7 +102,7 @@ public class Solution { ub = mid; } } else { - // case3: A[mid] == target + // case3: A[mid] == A[lb] lb++; } } @@ -117,7 +117,7 @@ public class Solution { ### 源码分析 -在`A[start] == A[mid]`时递增start序号即可。 +在`A[lb] == A[mid]`时递增lb序号即可。 ### 复杂度分析 From a79c9f12535034826048161b60c02224f0b890bd Mon Sep 17 00:00:00 2001 From: billryan Date: Sun, 27 Oct 2019 18:49:47 +0800 Subject: [PATCH 43/49] update for webhook test --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ab898ab95..4fb918b0c 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,6 @@ This work is licensed under the **Creative Commons Attribution-ShareAlike 4.0 In ## To Do - [ ] add multiple languages support -- [ ] add implementations of `Python`, `C++` and `Java` code +- [ ] add implementations of `Python`, `C++`, `Go` and `Java` code - [x] add time and space complexity analysis - [x] add proper Chinese fonts for PDF output From 4732e3c5910125f1b39b7d446b9c072b2f2538ac Mon Sep 17 00:00:00 2001 From: billryan Date: Sun, 27 Oct 2019 21:34:59 +0800 Subject: [PATCH 44/49] fix travis 10m timeout issue --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 6aacdf5e8..2b2cfc04a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -28,6 +28,7 @@ before_script: - unzip ~/raw_fonts/NotoSansCJKtc-hinted.zip -d ~/raw_fonts/NotoSansCJKtc-hinted script: + - while sleep 30; do echo "still alive"; done & - sed '/\(en\/\)/! d' LANGS.md.bak > LANGS.md - mv -t ~/.fonts/noto ~/raw_fonts/NotoSans-unhinted/*-Regular.ttf ~/raw_fonts/NotoSans-unhinted/*-Bold.ttf ~/raw_fonts/NotoSans-unhinted/*-Black.ttf - sudo fc-cache -f -v From 7a4747fa456e25489697552881272bd37cc26a69 Mon Sep 17 00:00:00 2001 From: billryan Date: Sun, 27 Oct 2019 22:29:47 +0800 Subject: [PATCH 45/49] disable zh-hans pdf output, fix travis timeout issue --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 2b2cfc04a..e5bfe2a93 100644 --- a/.travis.yml +++ b/.travis.yml @@ -40,7 +40,7 @@ script: - sed '/\(zh-hans\/\)/! d' LANGS.md.bak > LANGS.md - mv -t ~/.fonts/noto ~/raw_fonts/NotoSansCJKsc-hinted/*-DemiLight.otf ~/raw_fonts/NotoSansCJKsc-hinted/*-Bold.otf ~/raw_fonts/NotoSansCJKsc-hinted/*-Black.otf - sudo fc-cache -f -v - - gitbook pdf . + # - gitbook pdf . - gitbook epub . - gitbook mobi . - rm ~/.fonts/noto/*.otf From 0a2007f00bfa65f0558e83c72e60c8fa32756192 Mon Sep 17 00:00:00 2001 From: billryan Date: Sun, 3 Nov 2019 23:20:38 +0800 Subject: [PATCH 46/49] remove swiftype plugin --- book.json | 5 ----- 1 file changed, 5 deletions(-) diff --git a/book.json b/book.json index d1c40b9ab..04eb5605d 100644 --- a/book.json +++ b/book.json @@ -4,7 +4,6 @@ "ga", "katex", "richquotes", - "swiftype", "sitemap2", "github", "edit-link", @@ -23,10 +22,6 @@ "richquotes": { "todos": true }, - "swiftype": { - "token": "utQHy1R2XyiVqDqaZqws", - "version": "2.0.0" - }, "sitemap2": { "hostname": "http://algorithm.yuanbin.me/" }, From 909099bc1558bbcf37a3b273fc64b53a01bc62b6 Mon Sep 17 00:00:00 2001 From: Arky Yang Date: Tue, 9 Jun 2020 15:20:54 -0700 Subject: [PATCH 47/49] Corrected Typo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit line 21: Weikong ->为空 --- zh-hans/basics_data_structure/stack.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zh-hans/basics_data_structure/stack.md b/zh-hans/basics_data_structure/stack.md index e76ee96fc..891b3ab19 100644 --- a/zh-hans/basics_data_structure/stack.md +++ b/zh-hans/basics_data_structure/stack.md @@ -18,7 +18,7 @@ stack = collections.deque() #### Methods -- `len(stack) != 0` - 判断`stack`是否weikong +- `len(stack) != 0` - 判断`stack`是否为空 - `stack[-1]` - 取栈顶元素,不移除 - `pop()` - 移除栈顶元素并返回该元素 - `append(item)` - 向栈顶添加元素 From 4ac76a542a729a8560cf4d8f3671b9a3545f51e1 Mon Sep 17 00:00:00 2001 From: billryan Date: Mon, 13 Dec 2021 23:55:40 +0800 Subject: [PATCH 48/49] Update README.md add job info --- zh-hans/README.md | 28 ++-------------------------- 1 file changed, 2 insertions(+), 26 deletions(-) diff --git a/zh-hans/README.md b/zh-hans/README.md index 837101141..14dbec8ae 100644 --- a/zh-hans/README.md +++ b/zh-hans/README.md @@ -104,33 +104,9 @@ Slack 的自助邀请注册功能已启用,访问 Date: Mon, 13 Dec 2021 23:56:16 +0800 Subject: [PATCH 49/49] Update README.md --- zh-hans/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zh-hans/README.md b/zh-hans/README.md index 14dbec8ae..8930288c2 100644 --- a/zh-hans/README.md +++ b/zh-hans/README.md @@ -104,7 +104,7 @@ Slack 的自助邀请注册功能已启用,访问