Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
于光远
skill_tree_algorithm
提交
514e9a7c
S
skill_tree_algorithm
项目概览
于光远
/
skill_tree_algorithm
与 Fork 源项目一致
Fork自
CSDN 技术社区 / skill_tree_algorithm
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
skill_tree_algorithm
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
514e9a7c
编写于
11月 09, 2021
作者:
每日一练社区
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update leetcode and lanqiao markdown style
上级
fc1db5ce
变更
20
隐藏空白更改
内联
并排
Showing
20 changed file
with
126 addition
and
8 deletion
+126
-8
data/3.算法高阶/1.leetcode-树/10.103-二叉树的锯齿形层序遍历/solution.md
data/3.算法高阶/1.leetcode-树/10.103-二叉树的锯齿形层序遍历/solution.md
+4
-0
data/3.算法高阶/1.leetcode-树/8.101-对称二叉树/solution.md
data/3.算法高阶/1.leetcode-树/8.101-对称二叉树/solution.md
+4
-0
data/3.算法高阶/1.leetcode-树/9.102-二叉树的层序遍历/solution.md
data/3.算法高阶/1.leetcode-树/9.102-二叉树的层序遍历/solution.md
+4
-0
data/3.算法高阶/2.leetcode-哈希表/10.166-分数到小数/solution.md
data/3.算法高阶/2.leetcode-哈希表/10.166-分数到小数/solution.md
+5
-0
data/3.算法高阶/2.leetcode-哈希表/7.126-单词接龙 II/solution.md
data/3.算法高阶/2.leetcode-哈希表/7.126-单词接龙 II/solution.md
+4
-0
data/3.算法高阶/2.leetcode-哈希表/8.127-单词接龙/solution.md
data/3.算法高阶/2.leetcode-哈希表/8.127-单词接龙/solution.md
+4
-0
data/3.算法高阶/2.leetcode-哈希表/9.128-最长连续序列/solution.md
data/3.算法高阶/2.leetcode-哈希表/9.128-最长连续序列/solution.md
+5
-0
data/3.算法高阶/3.leetcode-图与搜索/10.130-被围绕的区域/solution.md
data/3.算法高阶/3.leetcode-图与搜索/10.130-被围绕的区域/solution.md
+5
-0
data/3.算法高阶/3.leetcode-图与搜索/8.112-路径总和/solution.md
data/3.算法高阶/3.leetcode-图与搜索/8.112-路径总和/solution.md
+5
-0
data/3.算法高阶/3.leetcode-图与搜索/9.113-路径总和 II/solution.md
data/3.算法高阶/3.leetcode-图与搜索/9.113-路径总和 II/solution.md
+5
-0
data/3.算法高阶/5.leetcode-设计/10.297-二叉树的序列化与反序列化/solution.md
data/3.算法高阶/5.leetcode-设计/10.297-二叉树的序列化与反序列化/solution.md
+5
-0
data/3.算法高阶/5.leetcode-设计/6.173-二叉搜索树迭代器/solution.md
data/3.算法高阶/5.leetcode-设计/6.173-二叉搜索树迭代器/solution.md
+5
-0
data/3.算法高阶/5.leetcode-设计/7.208-实现 Trie (前缀树)/solution.md
data/3.算法高阶/5.leetcode-设计/7.208-实现 Trie (前缀树)/solution.md
+5
-0
data/3.算法高阶/5.leetcode-设计/8.535-TinyURL 的加密与解密/solution.md
data/3.算法高阶/5.leetcode-设计/8.535-TinyURL 的加密与解密/solution.md
+4
-0
data/3.算法高阶/5.leetcode-设计/9.341-扁平化嵌套列表迭代器/solution.md
data/3.算法高阶/5.leetcode-设计/9.341-扁平化嵌套列表迭代器/solution.md
+5
-0
data/3.算法高阶/8.leetcode-贪心/10.330-按要求补齐数组/solution.md
data/3.算法高阶/8.leetcode-贪心/10.330-按要求补齐数组/solution.md
+5
-0
data/3.算法高阶/8.leetcode-贪心/7.179-最大数/solution.md
data/3.算法高阶/8.leetcode-贪心/7.179-最大数/solution.md
+4
-0
data/3.算法高阶/8.leetcode-贪心/8.316-去除重复字母/solution.md
data/3.算法高阶/8.leetcode-贪心/8.316-去除重复字母/solution.md
+5
-0
data/3.算法高阶/8.leetcode-贪心/9.321-拼接最大数/solution.md
data/3.算法高阶/8.leetcode-贪心/9.321-拼接最大数/solution.md
+5
-0
leetcode_helper.py
leetcode_helper.py
+38
-8
未找到文件。
data/3.算法高阶/1.leetcode-树/10.103-二叉树的锯齿形层序遍历/solution.md
浏览文件 @
514e9a7c
...
...
@@ -26,7 +26,9 @@
<p>
以下错误的选项是?
</p>
## aop
### before
```
cpp
#include <bits/stdc++.h>
using
namespace
std
;
...
...
@@ -42,11 +44,13 @@ struct TreeNode
};
```
### after
```
cpp
```
## 答案
```
cpp
class
Solution
{
...
...
data/3.算法高阶/1.leetcode-树/8.101-对称二叉树/solution.md
浏览文件 @
514e9a7c
...
...
@@ -33,7 +33,9 @@
<p>
以下错误的选项是?
</p>
## aop
### before
```
cpp
#include <bits/stdc++.h>
using
namespace
std
;
...
...
@@ -49,11 +51,13 @@ struct TreeNode
};
```
### after
```
cpp
```
## 答案
```
cpp
class
Solution
{
...
...
data/3.算法高阶/1.leetcode-树/9.102-二叉树的层序遍历/solution.md
浏览文件 @
514e9a7c
...
...
@@ -28,7 +28,9 @@
<p>
以下错误的选项是?
</p>
## aop
### before
```
cpp
#include <bits/stdc++.h>
using
namespace
std
;
...
...
@@ -44,11 +46,13 @@ struct TreeNode
};
```
### after
```
cpp
```
## 答案
```
cpp
class
Solution
{
...
...
data/3.算法高阶/2.leetcode-哈希表/10.166-分数到小数/solution.md
浏览文件 @
514e9a7c
# 分数到小数
<p>
给定两个整数,分别表示分数的分子
<code>
numerator
</code>
和分母
<code>
denominator
</code>
,以
<strong>
字符串形式返回小数
</strong>
。
</p>
<p>
如果小数部分为循环小数,则将循环的部分括在括号内。
</p>
...
...
@@ -56,12 +57,15 @@
<p>
以下错误的选项是?
</p>
## aop
### before
```
cpp
#include <bits/stdc++.h>
using
namespace
std
;
```
### after
```
cpp
int
main
()
{
...
...
@@ -75,6 +79,7 @@ int main()
```
## 答案
```
cpp
class
Solution
{
...
...
data/3.算法高阶/2.leetcode-哈希表/7.126-单词接龙 II/solution.md
浏览文件 @
514e9a7c
...
...
@@ -51,12 +51,15 @@
<p>
以下错误的选项是?
</p>
## aop
### before
```
cpp
#include <bits/stdc++.h>
using
namespace
std
;
```
### after
```
cpp
int
main
()
{
...
...
@@ -76,6 +79,7 @@ int main()
```
## 答案
```
cpp
class
Solution
{
...
...
data/3.算法高阶/2.leetcode-哈希表/8.127-单词接龙/solution.md
浏览文件 @
514e9a7c
...
...
@@ -44,12 +44,15 @@
<p>
以下错误的选项是?
</p>
## aop
### before
```
cpp
#include <bits/stdc++.h>
using
namespace
std
;
```
### after
```
cpp
int
main
()
{
...
...
@@ -64,6 +67,7 @@ int main()
```
## 答案
```
cpp
class
Solution
{
...
...
data/3.算法高阶/2.leetcode-哈希表/9.128-最长连续序列/solution.md
浏览文件 @
514e9a7c
# 最长连续序列
<p>
给定一个未排序的整数数组
<code>
nums
</code>
,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。
</p>
<p>
请你设计并实现时间复杂度为
<code>
O(n)
</code><em>
</em>
的算法解决此问题。
</p>
...
...
@@ -31,12 +32,15 @@
<p>
以下错误的选项是?
</p>
## aop
### before
```
cpp
#include <bits/stdc++.h>
using
namespace
std
;
```
### after
```
cpp
int
main
()
{
...
...
@@ -50,6 +54,7 @@ int main()
```
## 答案
```
cpp
class
Solution
{
...
...
data/3.算法高阶/3.leetcode-图与搜索/10.130-被围绕的区域/solution.md
浏览文件 @
514e9a7c
# 被围绕的区域
给你一个
<code>
m x n
</code>
的矩阵
<code>
board
</code>
,由若干字符
<code>
'X'
</code>
和
<code>
'O'
</code>
,找到所有被
<code>
'X'
</code>
围绕的区域,并将这些区域里所有的
<code>
'O'
</code>
用
<code>
'X'
</code>
填充。
<div
class=
"original__bRMd"
>
<div>
...
...
@@ -35,12 +36,15 @@
<p>
以下错误的选项是?
</p>
## aop
### before
```
cpp
#include <bits/stdc++.h>
using
namespace
std
;
```
### after
```
cpp
int
main
()
{
...
...
@@ -59,6 +63,7 @@ int main()
```
## 答案
```
cpp
class
Solution
{
...
...
data/3.算法高阶/3.leetcode-图与搜索/8.112-路径总和/solution.md
浏览文件 @
514e9a7c
# 路径总和
<p>
给你二叉树的根节点
<code>
root
</code>
和一个表示目标和的整数
<code>
targetSum
</code>
,判断该树中是否存在
<strong>
根节点到叶子节点
</strong>
的路径,这条路径上所有节点值相加等于目标和
<code>
targetSum
</code>
。
</p>
<p><strong>
叶子节点
</strong>
是指没有子节点的节点。
</p>
...
...
@@ -39,7 +40,9 @@
<p>
以下错误的选项是?
</p>
## aop
### before
```
cpp
#include <bits/stdc++.h>
using
namespace
std
;
...
...
@@ -55,11 +58,13 @@ struct TreeNode
};
```
### after
```
cpp
```
## 答案
```
cpp
其他三个都是错的
```
...
...
data/3.算法高阶/3.leetcode-图与搜索/9.113-路径总和 II/solution.md
浏览文件 @
514e9a7c
# 路径总和 II
<p>
给你二叉树的根节点
<code>
root
</code>
和一个整数目标和
<code>
targetSum
</code>
,找出所有
<strong>
从根节点到叶子节点
</strong>
路径总和等于给定目标和的路径。
</p>
<p><strong>
叶子节点
</strong>
是指没有子节点的节点。
</p>
...
...
@@ -43,7 +44,9 @@
<p>
以下错误的选项是?
</p>
## aop
### before
```
cpp
#include <bits/stdc++.h>
using
namespace
std
;
...
...
@@ -60,11 +63,13 @@ struct TreeNode
```
### after
```
cpp
```
## 答案
```
cpp
class
Solution
{
...
...
data/3.算法高阶/5.leetcode-设计/10.297-二叉树的序列化与反序列化/solution.md
浏览文件 @
514e9a7c
# 二叉树的序列化与反序列化
<p>
序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据。
</p>
<p>
请设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑,你只需要保证一个二叉树可以被序列化为一个字符串并且将这个字符串反序列化为原始的树结构。
</p>
...
...
@@ -47,7 +48,9 @@
<p>
以下错误的选项是?
</p>
## aop
### before
```
cpp
#include <bits/stdc++.h>
using
namespace
std
;
...
...
@@ -63,11 +66,13 @@ struct TreeNode
};
```
### after
```
cpp
```
## 答案
```
cpp
class
Codec
{
...
...
data/3.算法高阶/5.leetcode-设计/6.173-二叉搜索树迭代器/solution.md
浏览文件 @
514e9a7c
# 二叉搜索树迭代器
实现一个二叉搜索树迭代器类
<code>
BSTIterator
</code>
,表示一个按中序遍历二叉搜索树(BST)的迭代器:
<div
class=
"original__bRMd"
>
<div>
...
...
@@ -59,7 +60,9 @@ bSTIterator.hasNext(); // 返回 False
<p>
以下错误的选项是?
</p>
## aop
### before
```
cpp
#include <bits/stdc++.h>
using
namespace
std
;
...
...
@@ -75,6 +78,7 @@ struct TreeNode
};
```
### after
```
cpp
/**
* Your BSTIterator object will be instantiated and called as such:
...
...
@@ -85,6 +89,7 @@ struct TreeNode
```
## 答案
```
cpp
class
BSTIterator
{
...
...
data/3.算法高阶/5.leetcode-设计/7.208-实现 Trie (前缀树)/solution.md
浏览文件 @
514e9a7c
# 实现 Trie (前缀树)
<p><strong><a
href=
"https://baike.baidu.com/item/字典树/9825209?fr=aladdin"
target=
"_blank"
>
Trie
</a></strong>
(发音类似 "try")或者说
<strong>
前缀树
</strong>
是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补完和拼写检查。
</p>
<p>
请你实现 Trie 类:
</p>
...
...
@@ -44,17 +45,21 @@ trie.search("app"); // 返回 True
<p>
以下错误的选项是?
</p>
## aop
### before
```
cpp
#include <bits/stdc++.h>
using
namespace
std
;
```
### after
```
cpp
```
## 答案
```
cpp
class
TrieNode
{
...
...
data/3.算法高阶/5.leetcode-设计/8.535-TinyURL 的加密与解密/solution.md
浏览文件 @
514e9a7c
...
...
@@ -8,12 +8,15 @@
<p>
以下错误的选项是?
</p>
## aop
### before
```
cpp
#include <bits/stdc++.h>
using
namespace
std
;
```
### after
```
cpp
// Your Solution object will be instantiated and called as such:
// Solution solution;
...
...
@@ -21,6 +24,7 @@ using namespace std;
```
## 答案
```
cpp
class
Solution
{
...
...
data/3.算法高阶/5.leetcode-设计/9.341-扁平化嵌套列表迭代器/solution.md
浏览文件 @
514e9a7c
# 扁平化嵌套列表迭代器
<p>
给你一个嵌套的整数列表
<code>
nestedList
</code>
。每个元素要么是一个整数,要么是一个列表;该列表的元素也可能是整数或者是其他列表。请你实现一个迭代器将其扁平化,使之能够遍历这个列表中的所有整数。
</p>
<p>
实现扁平迭代器类
<code>
NestedIterator
</code>
:
</p>
...
...
@@ -49,7 +50,9 @@ return res</pre>
<p>
以下错误的选项是?
</p>
## aop
### before
```
cpp
#include <bits/stdc++.h>
using
namespace
std
;
...
...
@@ -72,11 +75,13 @@ public:
};
```
### after
```
cpp
```
## 答案
```
cpp
class
NestedIterator
{
...
...
data/3.算法高阶/8.leetcode-贪心/10.330-按要求补齐数组/solution.md
浏览文件 @
514e9a7c
# 按要求补齐数组
<p>
给定一个已排序的正整数数组
<em>
nums,
</em>
和一个正整数
<em>
n 。
</em>
从
<code>
[1, n]
</code>
区间内选取任意个数字补充到
<em>
nums
</em>
中,使得
<code>
[1, n]
</code>
区间内的任何数字都可以用
<em>
nums
</em>
中某几个数字的和来表示。请输出满足上述要求的最少需要补充的数字个数。
</p>
<p><strong>
示例
1:
</strong></p>
...
...
@@ -27,13 +28,16 @@
<p>
以下错误的选项是?
</p>
## aop
### before
```
cpp
#include <bits/stdc++.h>
using
namespace
std
;
```
### after
```
cpp
int
main
()
{
...
...
@@ -48,6 +52,7 @@ int main()
```
## 答案
```
cpp
class
Solution
{
...
...
data/3.算法高阶/8.leetcode-贪心/7.179-最大数/solution.md
浏览文件 @
514e9a7c
...
...
@@ -45,12 +45,15 @@
<p>
以下错误的选项是?
</p>
## aop
### before
```
cpp
#include <bits/stdc++.h>
using
namespace
std
;
```
### after
```
cpp
int
main
()
{
...
...
@@ -64,6 +67,7 @@ int main()
```
## 答案
```
cpp
class
Solution
{
...
...
data/3.算法高阶/8.leetcode-贪心/8.316-去除重复字母/solution.md
浏览文件 @
514e9a7c
# 去除重复字母
<p>
给你一个字符串
<code>
s
</code>
,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证
<strong>
返回结果的字典序最小
</strong>
(要求不能打乱其他字符的相对位置)。
</p>
<p><strong>
注意:
</strong>
该题与 1081
<a
href=
"https://leetcode-cn.com/problems/smallest-subsequence-of-distinct-characters"
>
https://leetcode-cn.com/problems/smallest-subsequence-of-distinct-characters
</a>
相同
</p>
...
...
@@ -30,12 +31,15 @@
<p>
以下错误的选项是?
</p>
## aop
### before
```
cpp
#include <bits/stdc++.h>
using
namespace
std
;
```
### after
```
cpp
int
main
()
{
...
...
@@ -49,6 +53,7 @@ int main()
```
## 答案
```
cpp
class
Solution
...
...
data/3.算法高阶/8.leetcode-贪心/9.321-拼接最大数/solution.md
浏览文件 @
514e9a7c
# 拼接最大数
<p>
给定长度分别为
<code>
m
</code>
和
<code>
n
</code>
的两个数组,其元素由
<code>
0-9
</code>
构成,表示两个自然数各位上的数字。现在从这两个数组中选出
<code>
k (k
<
= m + n)
</code>
个数字拼接成一个新的数,要求从同一个数组中取出的数字保持其在原数组中的相对顺序。
</p>
<p>
求满足该条件的最大数。结果返回一个表示该最大数的长度为
<code>
k
</code>
的数组。
</p>
...
...
@@ -35,12 +36,15 @@ k = <code>3</code>
<p>
以下错误的选项是?
</p>
## aop
### before
```
cpp
#include <bits/stdc++.h>
using
namespace
std
;
```
### after
```
cpp
int
main
()
{
...
...
@@ -57,6 +61,7 @@ int main()
```
## 答案
```
cpp
class
Solution
{
...
...
leetcode_helper.py
浏览文件 @
514e9a7c
...
...
@@ -273,17 +273,47 @@ def modify_config_and_dir_name_new():
for
idx
,
tem_dir
in
enumerate
(
exercises_dirs
):
config_path
=
os
.
path
.
join
(
tem_dir
,
'config.json'
)
solution_md_path
=
os
.
path
.
join
(
tem_dir
,
'solution.md'
)
if
dir
==
"data/1.算法初阶"
:
title
=
tem_dir
.
split
(
'/'
)[
-
1
].
split
(
'.'
)[
-
1
]
else
:
title
=
tem_dir
.
split
(
'/'
)[
-
1
].
split
(
'-'
)[
-
1
]
with
open
(
solution_md_path
,
'r'
,
encoding
=
'utf-8'
)
as
f
:
solution_md_data
=
f
.
read
()
print
(
config_path
)
with
open
(
config_path
,
'r'
,
encoding
=
'utf-8'
)
as
f
:
config_data
=
json
.
load
(
f
)
del
config_data
[
'title'
]
config_data_json
=
json
.
dumps
(
config_data
,
ensure_ascii
=
False
,
indent
=
2
)
print
(
config_data_json
)
if
solution_md_data
.
find
(
'# {}
\n\n
'
.
format
(
title
))
==
-
1
:
solution_md_data
=
solution_md_data
.
replace
(
'# {}'
.
format
(
title
),
'# {}
\n
'
.
format
(
title
))
print
(
tem_dir
)
if
solution_md_data
.
find
(
'## aop
\n\n
'
)
==
-
1
:
solution_md_data
=
solution_md_data
.
replace
(
'## aop'
,
'## aop
\n
'
)
if
solution_md_data
.
find
(
'## 答案
\n\n
'
)
==
-
1
:
solution_md_data
=
solution_md_data
.
replace
(
'## 答案'
,
'## 答案
\n
'
)
if
solution_md_data
.
find
(
'## 选项
\n\n
'
)
==
-
1
:
solution_md_data
=
solution_md_data
.
replace
(
'## 选项'
,
'## 选项
\n
'
)
if
solution_md_data
.
find
(
'### before
\n\n
'
)
==
-
1
:
solution_md_data
=
solution_md_data
.
replace
(
'### before'
,
'### before
\n
'
)
with
open
(
config_path
,
'w'
,
encoding
=
'utf-8'
)
as
f
:
f
.
write
(
config_data_json
)
if
solution_md_data
.
find
(
'### after
\n\n
'
)
==
-
1
:
solution_md_data
=
solution_md_data
.
replace
(
'### after'
,
'### after
\n
'
)
if
solution_md_data
.
find
(
'
\n\n
```cpp'
)
==
-
1
:
solution_md_data
=
solution_md_data
.
replace
(
'```cpp'
,
'
\n
```cpp'
)
with
open
(
solution_md_path
,
'w'
,
encoding
=
'utf-8'
)
as
f
:
f
.
write
(
solution_md_data
)
# with open(config_path, 'r', encoding='utf-8') as f:
# config_data = json.load(f)
# del config_data['title']
# config_data_json = json.dumps(config_data, ensure_ascii=False, indent=2)
# print(config_data_json)
# with open(config_path, 'w', encoding='utf-8') as f:
# f.write(config_data_json)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录