提交 a26cf0ca 编写于 作者: 每日一练社区's avatar 每日一练社区

update exercises

上级 643a76d1
...@@ -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>
......
...@@ -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>
......
...@@ -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> ```
......
...@@ -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>
......
...@@ -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.
先完成此消息的编辑!
想要评论请 注册