Skip to content

Commit 3d74b5a

Browse files
authored
chore: update lc problems (doocs#2120)
1 parent 468e051 commit 3d74b5a

File tree

31 files changed

+100
-74
lines changed

31 files changed

+100
-74
lines changed

solution/0100-0199/0167.Two Sum II - Input Array Is Sorted/README_EN.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
## Description
66

7-
<p>Given a <strong>1-indexed</strong> array of integers <code>numbers</code> that is already <strong><em>sorted in non-decreasing order</em></strong>, find two numbers such that they add up to a specific <code>target</code> number. Let these two numbers be <code>numbers[index<sub>1</sub>]</code> and <code>numbers[index<sub>2</sub>]</code> where <code>1 &lt;= index<sub>1</sub> &lt; index<sub>2</sub> &lt;&nbsp;numbers.length</code>.</p>
7+
<p>Given a <strong>1-indexed</strong> array of integers <code>numbers</code> that is already <strong><em>sorted in non-decreasing order</em></strong>, find two numbers such that they add up to a specific <code>target</code> number. Let these two numbers be <code>numbers[index<sub>1</sub>]</code> and <code>numbers[index<sub>2</sub>]</code> where <code>1 &lt;= index<sub>1</sub> &lt; index<sub>2</sub> &lt;= numbers.length</code>.</p>
88

99
<p>Return<em> the indices of the two numbers, </em><code>index<sub>1</sub></code><em> and </em><code>index<sub>2</sub></code><em>, <strong>added by one</strong> as an integer array </em><code>[index<sub>1</sub>, index<sub>2</sub>]</code><em> of length 2.</em></p>
1010

solution/1100-1199/1160.Find Words That Can Be Formed by Characters/README_EN.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<p>You are given an array of strings <code>words</code> and a string <code>chars</code>.</p>
88

9-
<p>A string is <strong>good</strong> if it can be formed by characters from chars (each character can only be used once).</p>
9+
<p>A string is <strong>good</strong> if it can be formed by characters from <code>chars</code> (each character can only be used once).</p>
1010

1111
<p>Return <em>the sum of lengths of all good strings in words</em>.</p>
1212

solution/2500-2599/2563.Count the Number of Fair Pairs/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
<pre>
3131
<b>输入:</b>nums = [1,7,9,2,5], lower = 11, upper = 11
3232
<b>输出:</b>1
33-
<b>解释:</b>只有单个公平数对:(2,3) 。
33+
<b>解释:</b>只有单个公平数对:(2,9) 。
3434
</pre>
3535

3636
<p>&nbsp;</p>

solution/2600-2699/2693.Call Function with Custom Context/README_EN.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ args = [{&quot;item&quot;: &quot;burger&quot;}, 10, 1.1]
5151
<p>&nbsp;</p>
5252
<p><strong>Constraints:</strong></p>
5353

54-
<ul style="list-style-type:square;">
54+
<ul>
5555
<li><code><font face="monospace">typeof args[0] == &#39;object&#39; and args[0] != null</font></code></li>
5656
<li><code>1 &lt;= args.length &lt;= 100</code></li>
5757
<li><code>2 &lt;= JSON.stringify(args[0]).length &lt;= 10<sup>5</sup></code></li>

solution/2700-2799/2700.Differences Between Two Objects/README_EN.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66

77
<p>Write a function that accepts two deeply nested objects or arrays&nbsp;<code>obj1</code> and&nbsp;<code>obj2</code>&nbsp;and returns a new&nbsp;object representing their differences.</p>
88

9-
<p>The function should compare the properties of the two objects and identify any changes.&nbsp;The returned object should only contains keys where the value is different from&nbsp;<code>obj1</code> to&nbsp;<code>obj2</code>. For each changed key, the value should be represented as an&nbsp;array <code>[obj1 value, obj2&nbsp;value]</code>. Keys that exist in one object but not in the other should not be included in the returned object. When comparing two arrays, the indices of the arrays are considered to be their keys.&nbsp;The end result should be a deeply nested object where each leaf value is a difference array.</p>
9+
<p>The function should compare the properties of the two objects and identify any changes.&nbsp;The returned object should only contains keys where the value is different from&nbsp;<code>obj1</code> to&nbsp;<code>obj2</code>.</p>
10+
11+
<p>For each changed key, the value should be represented as an&nbsp;array <code>[obj1 value, obj2&nbsp;value]</code>. Keys that exist in one object but not in the other should not be included in the returned object. When comparing two arrays, the indices of the arrays are considered to be their keys.&nbsp;The end result should be a deeply nested object where each leaf value is a difference array.</p>
1012

1113
<p>You may assume that both objects are the output of <code>JSON.parse</code>.</p>
1214

solution/2700-2799/2715.Timeout Cancellation/README_EN.md

+8-20
Original file line numberDiff line numberDiff line change
@@ -24,26 +24,8 @@ setTimeout(cancelFn, cancelTimeMs)
2424
<strong>Output:</strong> [{&quot;time&quot;: 20, &quot;returned&quot;: 10}]
2525
<strong>Explanation:</strong>
2626
const cancelTimeMs = 50;
27-
const result = [];
28-
29-
const fn = (x) =&gt; x * 5;
30-
31-
const start = performance.now();
32-
33-
const log = (...argsArr) =&gt; {
34-
const diff = Math.floor(performance.now() - start);
35-
result.push({&quot;time&quot;: diff, &quot;returned&quot;: fn(...argsArr)});
36-
}
37-
&nbsp; &nbsp;&nbsp;
38-
const cancel = cancellable(log, [2], 20);
39-
40-
const maxT = Math.max(t, 50);
41-
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;
42-
setTimeout(cancel, cancelTimeMs);
43-
44-
setTimeout(() =&gt; {
45-
&nbsp; &nbsp; console.log(result); // [{&quot;time&quot;:20,&quot;returned&quot;:10}]
46-
}, maxT + 15);
27+
const cancelFn = cancellable((x) =&gt; x * 5, [2], 20);
28+
setTimeout(cancelFn, cancelTimeMs);
4729

4830
The cancellation was scheduled to occur after a delay of cancelTimeMs (50ms), which happened after the execution of fn(2) at 20ms.
4931
</pre>
@@ -55,6 +37,9 @@ The cancellation was scheduled to occur after a delay of cancelTimeMs (50ms), wh
5537
<strong>Output:</strong> []
5638
<strong>Explanation:</strong>
5739
const cancelTimeMs = 50;
40+
const cancelFn = cancellable((x) =&gt; x**2, [2], 100);
41+
setTimeout(cancelFn, cancelTimeMs);
42+
5843
The cancellation was scheduled to occur after a delay of cancelTimeMs (50ms), which happened before the execution of fn(2) at 100ms, resulting in fn(2) never being called.
5944
</pre>
6045

@@ -65,6 +50,9 @@ The cancellation was scheduled to occur after a delay of cancelTimeMs (50ms), wh
6550
<strong>Output:</strong> [{&quot;time&quot;: 30, &quot;returned&quot;: 8}]
6651
<strong>Explanation:
6752
</strong>const cancelTimeMs = 100;
53+
const cancelFn = cancellable((x1, x2) =&gt; x1 * x2, [2,4], 30);
54+
setTimeout(cancelFn, cancelTimeMs);
55+
6856
The cancellation was scheduled to occur after a delay of cancelTimeMs (100ms), which happened after the execution of fn(2,4) at 30ms.
6957
</pre>
7058

solution/2700-2799/2724.Sort By/README_EN.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@
3737
<p><strong>Constraints:</strong></p>
3838

3939
<ul>
40-
<li><code>arr is a valid JSON array</code></li>
41-
<li><code>fn is a function that returns a number</code></li>
40+
<li><code>arr</code> is a valid JSON array</li>
41+
<li><code>fn</code> is a function that returns a number</li>
4242
<li><code>1 &lt;=&nbsp;arr.length &lt;= 5 * 10<sup>5</sup></code></li>
4343
</ul>
4444

solution/2700-2799/2725.Interval Cancellation/README_EN.md

+7-17
Original file line numberDiff line numberDiff line change
@@ -23,23 +23,9 @@
2323
{&quot;time&quot;: 175, &quot;returned&quot;: 8}
2424
]
2525
<strong>Explanation:</strong>
26-
const result = [];
27-
const fn = (x) =&gt; x * 2;
2826
const cancelTimeMs = 190;
29-
30-
const start = performance.now();
31-
32-
const log = (...argsArr) =&gt; {
33-
const diff = Math.floor(performance.now() - start);
34-
result.push({&quot;time&quot;: diff, &quot;returned&quot;: fn(...argsArr)});
35-
}
36-
37-
const cancel = cancellable(log, [4], 35);
38-
setTimeout(cancel, cancelTimeMs);
39-
40-
setTimeout(() =&gt; {
41-
console.log(result); // Output
42-
}, cancelTimeMs + 50)
27+
const cancelFn = cancellable((x) =&gt; x * 2, [4], 35);
28+
setTimeout(cancelFn, cancelTimeMs);
4329

4430
Every 35ms, fn(4) is called. Until t=190ms, then it is cancelled.
4531
1st fn call is at 0ms. fn(4) returns 8.
@@ -65,7 +51,9 @@ Cancelled at 190ms
6551
{&quot;time&quot;: 150, &quot;returned&quot;: 10}
6652
]
6753
<strong>Explanation:</strong>
68-
const cancelTimeMs = 165;
54+
const cancelTimeMs = 165;
55+
const cancelFn = cancellable((x1, x2) =&gt; (x1 * x2), [2, 5], 30)
56+
setTimeout(cancelFn, cancelTimeMs)
6957

7058
Every 30ms, fn(2, 5) is called. Until t=165ms, then it is cancelled.
7159
1st fn call is at 0ms&nbsp;
@@ -90,6 +78,8 @@ Cancelled at 165ms
9078
]
9179
<strong>Explanation:</strong>
9280
const cancelTimeMs = 180;
81+
const cancelFn = cancellable((x1, x2, x3) =&gt; (x1 + x2 + x3), [5, 1, 3], 50)
82+
setTimeout(cancelFn, cancelTimeMs)
9383

9484
Every 50ms, fn(5, 1, 3) is called. Until t=180ms, then it is cancelled.
9585
1st fn call is at 0ms

solution/2700-2799/2754.Bind Function to Context/README_EN.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ boundFunc(); // &quot;My name is Kathy&quot;
6868
<p><strong>Constraints:</strong></p>
6969

7070
<ul>
71-
<li><code>obj is a non-null object</code></li>
71+
<li><code>obj</code> is a non-null object</li>
7272
<li><code>0 &lt;= inputs.length &lt;= 100</code></li>
7373
</ul>
7474

solution/2700-2799/2756.Query Batching/README_EN.md

+1-3
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@
2323

2424
<p><img alt="Throttle info" src="https://fastly.jsdelivr.net/gh/doocs/leetcode@main/solution/2700-2799/2756.Query%20Batching/images/throttle.png" style="width: 622px; height: 200px;" /></p>
2525

26-
<p>&nbsp;</p>
27-
2826
<p>&nbsp;</p>
2927
<p><strong class="example">Example 1:</strong></p>
3028

@@ -119,7 +117,7 @@ queryMultiple([&#39;f&#39;]) is called at t=350ms, it is resolved at 450ms
119117
<li><code>0 &lt;= t &lt;= 1000</code></li>
120118
<li><code>0 &lt;= calls.length &lt;= 10</code></li>
121119
<li><code>1 &lt;= key.length&nbsp;&lt;= 100</code></li>
122-
<li><code>all keys are unique</code></li>
120+
<li>All keys are unique</li>
123121
</ul>
124122

125123
## Solutions

solution/2700-2799/2764.is Array a Preorder of Some ‌Binary Tree/README.md solution/2700-2799/2764.Is Array a Preorder of Some ‌Binary Tree/README.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# [2764. 数组是否表示某二叉树的前序遍历](https://leetcode.cn/problems/is-array-a-preorder-of-some-binary-tree)
22

3-
[English Version](/solution/2700-2799/2764.is%20Array%20a%20Preorder%20of%20Some%20%E2%80%8CBinary%20Tree/README_EN.md)
3+
[English Version](/solution/2700-2799/2764.Is%20Array%20a%20Preorder%20of%20Some%20%E2%80%8CBinary%20Tree/README_EN.md)
44

55
## 题目描述
66

@@ -25,7 +25,7 @@
2525
我们可以验证这是树的前序遍历,首先访问节点 0,然后对左子节点进行前序遍历,即 [1] ,然后对右子节点进行前序遍历,即 [2,3,4] 。
2626
</pre>
2727

28-
<p><img alt="" src="https://fastly.jsdelivr.net/gh/doocs/leetcode@main/solution/2700-2799/2764.is%20Array%20a%20Preorder%20of%20Some%20%E2%80%8CBinary%20Tree/images/1.png" style="padding: 10px; background: #fff; border-radius: .5rem; width: 250px; height: 251px;" /></p>
28+
<p><img alt="" src="https://fastly.jsdelivr.net/gh/doocs/leetcode@main/solution/2700-2799/2764.Is%20Array%20a%20Preorder%20of%20Some%20%E2%80%8CBinary%20Tree/images/1.png" style="padding: 10px; background: #fff; border-radius: .5rem; width: 250px; height: 251px;" /></p>
2929

3030
<p><strong class="example">示例 2:</strong></p>
3131

@@ -36,7 +36,7 @@
3636
对于前序遍历,首先访问节点 0,然后对左子节点进行前序遍历,即 [1,3,4],但是我们可以看到在给定的顺序中,2 位于 1 和 3 之间,因此它不是树的前序遍历。
3737
</pre>
3838

39-
<p><img alt="" src="https://fastly.jsdelivr.net/gh/doocs/leetcode@main/solution/2700-2799/2764.is%20Array%20a%20Preorder%20of%20Some%20%E2%80%8CBinary%20Tree/images/2.png" style="padding: 10px; background: #fff; border-radius: .5rem; width: 250px; height: 251px;" /></p>
39+
<p><img alt="" src="https://fastly.jsdelivr.net/gh/doocs/leetcode@main/solution/2700-2799/2764.Is%20Array%20a%20Preorder%20of%20Some%20%E2%80%8CBinary%20Tree/images/2.png" style="padding: 10px; background: #fff; border-radius: .5rem; width: 250px; height: 251px;" /></p>
4040

4141
<p>&nbsp;</p>
4242

solution/2700-2799/2764.is Array a Preorder of Some ‌Binary Tree/README_EN.md solution/2700-2799/2764.Is Array a Preorder of Some ‌Binary Tree/README_EN.md

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
# [2764. is Array a Preorder of Some ‌Binary Tree](https://leetcode.com/problems/is-array-a-preorder-of-some-binary-tree)
1+
# [2764. Is Array a Preorder of Some ‌Binary Tree](https://leetcode.com/problems/is-array-a-preorder-of-some-binary-tree)
22

3-
[中文文档](/solution/2700-2799/2764.is%20Array%20a%20Preorder%20of%20Some%20%E2%80%8CBinary%20Tree/README.md)
3+
[中文文档](/solution/2700-2799/2764.Is%20Array%20a%20Preorder%20of%20Some%20%E2%80%8CBinary%20Tree/README.md)
44

55
## Description
66

77
<p>Given a <strong>0-indexed</strong> integer <strong>2D array</strong> <code>nodes</code>, your task is to determine if the given array represents the <strong>preorder</strong> traversal of some <strong>binary</strong> tree.</p>
88

9-
<p>For each index <code>i</code>, <code>nodes[i] = [id, parentId]</code>, where <code>id</code> is the id of the node at the index <code>i</code> and <code>parentId</code> is the id of its parent in the tree (if the node has no parent, then <code>parentId = -1</code>).</p>
9+
<p>For each index <code>i</code>, <code>nodes[i] = [id, parentId]</code>, where <code>id</code> is the id of the node at the index <code>i</code> and <code>parentId</code> is the id of its parent in the tree (if the node has no parent, then <code>parentId == -1</code>).</p>
1010

11-
<p>Return <code>true</code> <em>if the given array&nbsp;</em><em>represents the preorder traversal of some tree, and</em> <code>false</code> <em>otherwise.</em></p>
11+
<p>Return <code>true</code> <em>if the given array </em><em>represents the preorder traversal of some tree, and</em> <code>false</code> <em>otherwise.</em></p>
1212

1313
<p><strong>Note:</strong> the <strong>preorder</strong> traversal of a tree is a recursive way to traverse a tree in which we first visit the current node, then we do the preorder traversal for the left child, and finally, we do it for the right child.</p>
1414

@@ -22,7 +22,7 @@
2222
We can show that this is the preorder traversal of the tree, first we visit node 0, then we do the preorder traversal of the right child which is [1], then we do the preorder traversal of the left child which is [2,3,4].
2323
</pre>
2424

25-
<p><img alt="" src="https://fastly.jsdelivr.net/gh/doocs/leetcode@main/solution/2700-2799/2764.is%20Array%20a%20Preorder%20of%20Some%20%E2%80%8CBinary%20Tree/images/1.png" style="padding: 10px; background: #fff; border-radius: .5rem; width: 250px; height: 251px;" /></p>
25+
<p><img alt="" src="https://fastly.jsdelivr.net/gh/doocs/leetcode@main/solution/2700-2799/2764.Is%20Array%20a%20Preorder%20of%20Some%20%E2%80%8CBinary%20Tree/images/1.png" style="padding: 10px; background: #fff; border-radius: .5rem; width: 250px; height: 251px;" /></p>
2626

2727
<p><strong class="example">Example 2:</strong></p>
2828

@@ -33,7 +33,7 @@ We can show that this is the preorder traversal of the tree, first we visit node
3333
For the preorder traversal, first we visit node 0, then we do the preorder traversal of the right child which is [1,3,4], but we can see that in the given order, 2 comes between 1 and 3, so, it&#39;s not the preorder traversal of the tree.
3434
</pre>
3535

36-
<p><img alt="" src="https://fastly.jsdelivr.net/gh/doocs/leetcode@main/solution/2700-2799/2764.is%20Array%20a%20Preorder%20of%20Some%20%E2%80%8CBinary%20Tree/images/2.png" style="padding: 10px; background: #fff; border-radius: .5rem; width: 250px; height: 251px;" /></p>
36+
<p><img alt="" src="https://fastly.jsdelivr.net/gh/doocs/leetcode@main/solution/2700-2799/2764.Is%20Array%20a%20Preorder%20of%20Some%20%E2%80%8CBinary%20Tree/images/2.png" style="padding: 10px; background: #fff; border-radius: .5rem; width: 250px; height: 251px;" /></p>
3737

3838
<p>&nbsp;</p>
3939
<p><strong>Constraints:</strong></p>

solution/2700-2799/2774.Array Upper Bound/README_EN.md

+3
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@
3939
<li><code>nums</code>&nbsp;is sorted in ascending order.</li>
4040
</ul>
4141

42+
<p>&nbsp;</p>
43+
<strong>Follow up: </strong>Can you write an algorithm with&nbsp;O(log n)&nbsp;runtime complexity?
44+
4245
## Solutions
4346

4447
<!-- tabs:start -->

solution/2700-2799/2776.Convert Callback Based Function to Promise Based Function/README_EN.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66

77
<p>Write a function that accepts another function <code>fn</code> and converts the callback-based function&nbsp;into a promise-based function.&nbsp;</p>
88

9-
<p>The <code>promisify</code>&nbsp;function takes in a function <code>fn</code> that accepts a callback as its first argument and also any additional arguments. It&nbsp;returns a new function that returns a promise instead. The returned promise should resolve with the result of the original function when the callback is called with a successful response, and reject with the error when the callback is called with an error. The returned promise-based function should accept the additional arguments as inputs.</p>
9+
<p>The function <code>fn</code> takes a callback as its first argument, along with any additional arguments <code>args</code>&nbsp;passed as separate inputs.</p>
10+
11+
<p>The&nbsp;<code>promisify</code>&nbsp;function returns a new function that should return a promise. The promise should resolve with the argument passed as the first parameter of the callback when the callback is invoked without error, and reject with the error when the callback is called with an error as the second argument.</p>
1012

1113
<p>The following is an example of a function that could be passed into&nbsp;<code>promisify</code>.</p>
1214

solution/2700-2799/2796.Repeat String/README_EN.md

+1-2
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,7 @@
3737
<p><strong>Constraints:</strong></p>
3838

3939
<ul>
40-
<li><code>1 &lt;= str.length &lt;= 1000</code></li>
41-
<li><code>1 &lt;= times &lt;= 1000</code></li>
40+
<li><code>1 &lt;= str.length,&nbsp;times &lt;=&nbsp;10<sup>5</sup></code></li>
4241
</ul>
4342

4443
## Solutions

solution/DATABASE_README.md

+12-1
Original file line numberDiff line numberDiff line change
@@ -250,4 +250,15 @@
250250

251251
## 版权
252252

253-
著作权归 [GitHub 开源社区 Doocs](https://github.com/doocs) 所有,商业转载请联系 [@yanglbme](mailto:contact@yanglibin.info) 获得授权,非商业转载请注明出处。
253+
本项目著作权归 [GitHub 开源社区 Doocs](https://github.com/doocs) 所有,商业转载请联系 @yanglbme 获得授权,非商业转载请注明出处。
254+
255+
## 联系我们
256+
257+
欢迎各位小伙伴们添加 @yanglbme 的个人微信(微信号:YLB0109),备注 「**leetcode**」。后续我们会创建算法、技术相关的交流群,大家一起交流学习,分享经验,共同进步。
258+
259+
| <img src="https://cdn-doocs.oss-cn-shenzhen.aliyuncs.com/gh/doocs/images/qrcode-for-yanglbme.png" width="260px" align="left"/> |
260+
| ------------------------------------------------------------------------------------------------------------------------------ |
261+
262+
## 许可证
263+
264+
<a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">知识共享 版权归属-相同方式共享 4.0 国际 公共许可证</a>

solution/DATABASE_README_EN.md

+12-1
Original file line numberDiff line numberDiff line change
@@ -248,4 +248,15 @@ Press <kbd>Control</kbd> + <kbd>F</kbd>(or <kbd>Command</kbd> + <kbd>F</kbd> on
248248

249249
## Copyright
250250

251-
[@Doocs](https://github.com/doocs)
251+
The copyright of this project belongs to [Doocs](https://github.com/doocs) community. For commercial reprints, please contact [@yanglbme](mailto:contact@yanglibin.info) for authorization. For non-commercial reprints, please indicate the source.
252+
253+
## Contact Us
254+
255+
We welcome everyone to add @yanglbme's personal WeChat (WeChat ID: YLB0109), with the note "leetcode". In the future, we will create algorithm and technology related discussion groups, where we can learn and share experiences together, and make progress together.
256+
257+
| <img src="https://cdn-doocs.oss-cn-shenzhen.aliyuncs.com/gh/doocs/images/qrcode-for-yanglbme-en.png" width="260px" align="left"/> |
258+
| --------------------------------------------------------------------------------------------------------------------------------- |
259+
260+
## License
261+
262+
This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">Creative Commons Attribution-ShareAlike 4.0 International License</a>.

solution/JAVASCRIPT_README.md

+12-1
Original file line numberDiff line numberDiff line change
@@ -80,4 +80,15 @@
8080

8181
## 版权
8282

83-
著作权归 [GitHub 开源社区 Doocs](https://github.com/doocs) 所有,商业转载请联系 [@yanglbme](mailto:contact@yanglibin.info) 获得授权,非商业转载请注明出处。
83+
本项目著作权归 [GitHub 开源社区 Doocs](https://github.com/doocs) 所有,商业转载请联系 @yanglbme 获得授权,非商业转载请注明出处。
84+
85+
## 联系我们
86+
87+
欢迎各位小伙伴们添加 @yanglbme 的个人微信(微信号:YLB0109),备注 「**leetcode**」。后续我们会创建算法、技术相关的交流群,大家一起交流学习,分享经验,共同进步。
88+
89+
| <img src="https://cdn-doocs.oss-cn-shenzhen.aliyuncs.com/gh/doocs/images/qrcode-for-yanglbme.png" width="260px" align="left"/> |
90+
| ------------------------------------------------------------------------------------------------------------------------------ |
91+
92+
## 许可证
93+
94+
<a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">知识共享 版权归属-相同方式共享 4.0 国际 公共许可证</a>

0 commit comments

Comments
 (0)