Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
CSDN 技术社区
skill_tree_algorithm
提交
a26cf0ca
S
skill_tree_algorithm
项目概览
CSDN 技术社区
/
skill_tree_algorithm
通知
9
Star
8
Fork
1
代码
文件
提交
分支
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看板
提交
a26cf0ca
编写于
11月 18, 2021
作者:
每日一练社区
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update exercises
上级
643a76d1
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
26 addition
and
58 deletion
+26
-58
data/3.算法高阶/5.leetcode-设计/4.460-LFU 缓存/solution.md
data/3.算法高阶/5.leetcode-设计/4.460-LFU 缓存/solution.md
+7
-22
data/3.算法高阶/5.leetcode-设计/5.146-LRU 缓存机制/solution.md
data/3.算法高阶/5.leetcode-设计/5.146-LRU 缓存机制/solution.md
+7
-16
data/3.算法高阶/5.leetcode-设计/6.173-二叉搜索树迭代器/solution.md
data/3.算法高阶/5.leetcode-设计/6.173-二叉搜索树迭代器/solution.md
+7
-13
data/3.算法高阶/5.leetcode-设计/7.208-实现 Trie (前缀树)/solution.md
data/3.算法高阶/5.leetcode-设计/7.208-实现 Trie (前缀树)/solution.md
+2
-0
data/3.算法高阶/5.leetcode-设计/9.341-扁平化嵌套列表迭代器/solution.md
data/3.算法高阶/5.leetcode-设计/9.341-扁平化嵌套列表迭代器/solution.md
+3
-7
未找到文件。
data/3.算法高阶/5.leetcode-设计/4.460-LFU 缓存/solution.md
浏览文件 @
a26cf0ca
...
@@ -20,57 +20,42 @@
...
@@ -20,57 +20,42 @@
<p><strong>
示例:
</strong></p>
<p><strong>
示例:
</strong></p>
<pre>
<strong>
输入:
</strong>
<strong>
输入:
</strong>
```
["LFUCache", "put", "put", "get", "put", "get", "get", "put", "get", "get", "get"]
["LFUCache", "put", "put", "get", "put", "get", "get", "put", "get", "get", "get"]
[[2], [1, 1], [2, 2], [1], [3, 3], [2], [3], [4, 4], [1], [3], [4]]
[[2], [1, 1], [2, 2], [1], [3, 3], [2], [3], [4, 4], [1], [3], [4]]
```
<strong>
输出:
</strong>
<strong>
输出:
</strong>
```
[null, null, null, 1, null, -1, 3, null, -1, 3, 4]
[null, null, null, 1, null, -1, 3, null, -1, 3, 4]
```
<strong>
解释:
</strong>
<strong>
解释:
</strong>
```
java
// cnt(x) = 键 x 的使用计数
// cnt(x) = 键 x 的使用计数
// cache=[] 将显示最后一次使用的顺序(最左边的元素是最近的)
// cache=[] 将显示最后一次使用的顺序(最左边的元素是最近的)
LFUCache
lFUCache
=
new
LFUCache
(
2
);
LFUCache
lFUCache
=
new
LFUCache
(
2
);
lFUCache
.
put
(
1
,
1
);
// cache=[1,_], cnt(1)=1
lFUCache
.
put
(
1
,
1
);
// cache=[1,_], cnt(1)=1
lFUCache
.
put
(
2
,
2
);
// cache=[2,1], cnt(2)=1, cnt(1)=1
lFUCache
.
put
(
2
,
2
);
// cache=[2,1], cnt(2)=1, cnt(1)=1
lFUCache
.
get
(
1
);
// 返回 1
lFUCache
.
get
(
1
);
// 返回 1
// cache=[1,2], cnt(2)=1, cnt(1)=2
// cache=[1,2], cnt(2)=1, cnt(1)=2
lFUCache
.
put
(
3
,
3
);
// 去除键 2 ,因为 cnt(2)=1 ,使用计数最小
lFUCache
.
put
(
3
,
3
);
// 去除键 2 ,因为 cnt(2)=1 ,使用计数最小
// cache=[3,1], cnt(3)=1, cnt(1)=2
// cache=[3,1], cnt(3)=1, cnt(1)=2
lFUCache
.
get
(
2
);
// 返回 -1(未找到)
lFUCache
.
get
(
2
);
// 返回 -1(未找到)
lFUCache
.
get
(
3
);
// 返回 3
lFUCache
.
get
(
3
);
// 返回 3
// cache=[3,1], cnt(3)=2, cnt(1)=2
// cache=[3,1], cnt(3)=2, cnt(1)=2
lFUCache
.
put
(
4
,
4
);
// 去除键 1 ,1 和 3 的 cnt 相同,但 1 最久未使用
lFUCache
.
put
(
4
,
4
);
// 去除键 1 ,1 和 3 的 cnt 相同,但 1 最久未使用
// cache=[4,3], cnt(4)=1, cnt(3)=2
// cache=[4,3], cnt(4)=1, cnt(3)=2
lFUCache
.
get
(
1
);
// 返回 -1(未找到)
lFUCache
.
get
(
1
);
// 返回 -1(未找到)
lFUCache
.
get
(
3
);
// 返回 3
lFUCache
.
get
(
3
);
// 返回 3
// cache=[3,4], cnt(4)=1, cnt(3)=3
// cache=[3,4], cnt(4)=1, cnt(3)=3
lFUCache
.
get
(
4
);
// 返回 4
lFUCache
.
get
(
4
);
// 返回 4
// cache=[3,4], cnt(4)=2, cnt(3)=3
// cache=[3,4], cnt(4)=2, cnt(3)=3</pre>
```
<p><strong>
提示:
</strong></p>
<p><strong>
提示:
</strong></p>
...
...
data/3.算法高阶/5.leetcode-设计/5.146-LRU 缓存机制/solution.md
浏览文件 @
a26cf0ca
...
@@ -19,45 +19,36 @@
...
@@ -19,45 +19,36 @@
<p><strong>
进阶
</strong>
:你是否可以在
<code>
O(1)
</code>
时间复杂度内完成这两种操作?
</p>
<p><strong>
进阶
</strong>
:你是否可以在
<code>
O(1)
</code>
时间复杂度内完成这两种操作?
</p>
<p><strong>
示例:
</strong></p>
<p><strong>
示例:
</strong></p>
<pre>
<strong>
输入
</strong>
<strong>
输入
</strong>
```
["LRUCache", "put", "put", "get", "put", "get", "put", "get", "get", "get"]
["LRUCache", "put", "put", "get", "put", "get", "put", "get", "get", "get"]
[[2], [1, 1], [2, 2], [1], [3, 3], [2], [4, 4], [1], [3], [4]]
[[2], [1, 1], [2, 2], [1], [3, 3], [2], [4, 4], [1], [3], [4]]
```
<strong>
输出
</strong>
<strong>
输出
</strong>
```
[null, null, null, 1, null, -1, null, -1, 3, 4]
[null, null, null, 1, null, -1, null, -1, 3, 4]
```
<strong>
解释
</strong>
<strong>
解释
</strong>
```
java
LRUCache
lRUCache
=
new
LRUCache
(
2
);
LRUCache
lRUCache
=
new
LRUCache
(
2
);
lRUCache
.
put
(
1
,
1
);
// 缓存是 {1=1}
lRUCache
.
put
(
1
,
1
);
// 缓存是 {1=1}
lRUCache
.
put
(
2
,
2
);
// 缓存是 {1=1, 2=2}
lRUCache
.
put
(
2
,
2
);
// 缓存是 {1=1, 2=2}
lRUCache
.
get
(
1
);
// 返回 1
lRUCache
.
get
(
1
);
// 返回 1
lRUCache
.
put
(
3
,
3
);
// 该操作会使得关键字 2 作废,缓存是 {1=1, 3=3}
lRUCache
.
put
(
3
,
3
);
// 该操作会使得关键字 2 作废,缓存是 {1=1, 3=3}
lRUCache
.
get
(
2
);
// 返回 -1 (未找到)
lRUCache
.
get
(
2
);
// 返回 -1 (未找到)
lRUCache
.
put
(
4
,
4
);
// 该操作会使得关键字 1 作废,缓存是 {4=4, 3=3}
lRUCache
.
put
(
4
,
4
);
// 该操作会使得关键字 1 作废,缓存是 {4=4, 3=3}
lRUCache
.
get
(
1
);
// 返回 -1 (未找到)
lRUCache
.
get
(
1
);
// 返回 -1 (未找到)
lRUCache
.
get
(
3
);
// 返回 3
lRUCache
.
get
(
3
);
// 返回 3
lRUCache
.
get
(
4
);
// 返回 4
lRUCache
.
get
(
4
);
// 返回 4
```
</pre>
<p><strong>
提示:
</strong></p>
<p><strong>
提示:
</strong></p>
...
...
data/3.算法高阶/5.leetcode-设计/6.173-二叉搜索树迭代器/solution.md
浏览文件 @
a26cf0ca
...
@@ -16,42 +16,36 @@
...
@@ -16,42 +16,36 @@
<p>
你可以假设
<code>
next()
</code>
调用总是有效的,也就是说,当调用
<code>
next()
</code>
时,BST 的中序遍历中至少存在一个下一个数字。
</p>
<p>
你可以假设
<code>
next()
</code>
调用总是有效的,也就是说,当调用
<code>
next()
</code>
时,BST 的中序遍历中至少存在一个下一个数字。
</p>
<p><strong>
示例:
</strong></p>
<p><strong>
示例:
</strong></p>
<img
alt=
""
src=
"https://assets.leetcode.com/uploads/2018/12/25/bst-tree.png"
style=
"width: 189px; height: 178px;"
/>
<img
alt=
""
src=
"https://assets.leetcode.com/uploads/2018/12/25/bst-tree.png"
style=
"width: 189px; height: 178px;"
/>
<pre>
<strong>
输入
</strong>
<strong>
输入
</strong>
```
["BSTIterator", "next", "next", "hasNext", "next", "hasNext", "next", "hasNext", "next", "hasNext"]
["BSTIterator", "next", "next", "hasNext", "next", "hasNext", "next", "hasNext", "next", "hasNext"]
[[[7, 3, 15, null, null, 9, 20]], [], [], [], [], [], [], [], [], []]
[[[7, 3, 15, null, null, 9, 20]], [], [], [], [], [], [], [], [], []]
```
<strong>
输出
</strong>
<strong>
输出
</strong>
```
[null, 3, 7, true, 9, true, 15, true, 20, false]
[null, 3, 7, true, 9, true, 15, true, 20, false]
```
<strong>
解释
</strong>
<strong>
解释
</strong>
```
java
BSTIterator
bSTIterator
=
new
BSTIterator
([
7
,
3
,
15
,
null
,
null
,
9
,
20
]);
BSTIterator
bSTIterator
=
new
BSTIterator
([
7
,
3
,
15
,
null
,
null
,
9
,
20
]);
bSTIterator
.
next
();
// 返回 3
bSTIterator
.
next
();
// 返回 3
bSTIterator
.
next
();
// 返回 7
bSTIterator
.
next
();
// 返回 7
bSTIterator
.
hasNext
();
// 返回 True
bSTIterator
.
hasNext
();
// 返回 True
bSTIterator
.
next
();
// 返回 9
bSTIterator
.
next
();
// 返回 9
bSTIterator
.
hasNext
();
// 返回 True
bSTIterator
.
hasNext
();
// 返回 True
bSTIterator
.
next
();
// 返回 15
bSTIterator
.
next
();
// 返回 15
bSTIterator
.
hasNext
();
// 返回 True
bSTIterator
.
hasNext
();
// 返回 True
bSTIterator
.
next
();
// 返回 20
bSTIterator
.
next
();
// 返回 20
bSTIterator
.
hasNext
();
// 返回 False
bSTIterator
.
hasNext
();
// 返回 False
</pre>
```
...
...
data/3.算法高阶/5.leetcode-设计/7.208-实现 Trie (前缀树)/solution.md
浏览文件 @
a26cf0ca
...
@@ -22,7 +22,9 @@
...
@@ -22,7 +22,9 @@
<strong>
输出
</strong>
<strong>
输出
</strong>
```
[null, null, true, false, true, null, true]
[null, null, true, false, true, null, true]
```
<strong>
解释
</strong>
<strong>
解释
</strong>
...
...
data/3.算法高阶/5.leetcode-设计/9.341-扁平化嵌套列表迭代器/solution.md
浏览文件 @
a26cf0ca
...
@@ -12,17 +12,13 @@
...
@@ -12,17 +12,13 @@
<p>
你的代码将会用下述伪代码检测:
</p>
<p>
你的代码将会用下述伪代码检测:
</p>
<pre>
```
initialize iterator with nestedList
initialize iterator with nestedList
res = []
res = []
while iterator.hasNext()
while iterator.hasNext()
append iterator.next() to the end of res
append iterator.next() to the end of res
return res
return res
</pre>
```
<p>
如果
<code>
res
</code>
与预期的扁平化列表匹配,那么你的代码将会被判为正确。
</p>
<p>
如果
<code>
res
</code>
与预期的扁平化列表匹配,那么你的代码将会被判为正确。
</p>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录