Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 527b641

Browse files
committed
feat: generate sub category summary
1 parent 9c592b1 commit 527b641

File tree

3 files changed

+172
-2
lines changed

3 files changed

+172
-2
lines changed

‎solution/javascript_summary.md‎

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
- [2618.检查是否是类的对象实例](/javascript_solution/2600-2699/2618.Check%20if%20Object%20Instance%20of%20Class/README.md)
2+
- [2619.数组原型对象的最后一个元素](/javascript_solution/2600-2699/2619.Array%20Prototype%20Last/README.md)
3+
- [2620.计数器](/javascript_solution/2600-2699/2620.Counter/README.md)
4+
- [2621.睡眠函数](/javascript_solution/2600-2699/2621.Sleep/README.md)
5+
- [2622.有时间限制的缓存](/javascript_solution/2600-2699/2622.Cache%20With%20Time%20Limit/README.md)
6+
- [2623.记忆函数](/javascript_solution/2600-2699/2623.Memoize/README.md)
7+
- [2624.蜗牛排序](/javascript_solution/2600-2699/2624.Snail%20Traversal/README.md)
8+
- [2625.扁平化嵌套数组](/javascript_solution/2600-2699/2625.Flatten%20Deeply%20Nested%20Array/README.md)
9+
- [2626.数组归约运算](/javascript_solution/2600-2699/2626.Array%20Reduce%20Transformation/README.md)
10+
- [2627.函数防抖](/javascript_solution/2600-2699/2627.Debounce/README.md)
11+
- [2628.完全相等的 JSON 字符串](/javascript_solution/2600-2699/2628.JSON%20Deep%20Equal/README.md)
12+
- [2629.复合函数](/javascript_solution/2600-2699/2629.Function%20Composition/README.md)
13+
- [2630.记忆函数 II](/javascript_solution/2600-2699/2630.Memoize%20II/README.md)
14+
- [2631.分组](/javascript_solution/2600-2699/2631.Group%20By/README.md)
15+
- [2632.柯里化](/javascript_solution/2600-2699/2632.Curry/README.md)
16+
- [2633.将对象转换为 JSON 字符串](/javascript_solution/2600-2699/2633.Convert%20Object%20to%20JSON%20String/README.md)
17+
- [2634.过滤数组中的元素](/javascript_solution/2600-2699/2634.Filter%20Elements%20from%20Array/README.md)
18+
- [2635.转换数组中的每个元素](/javascript_solution/2600-2699/2635.Apply%20Transform%20Over%20Each%20Element%20in%20Array/README.md)
19+
- [2636.Promise 对象池](/javascript_solution/2600-2699/2636.Promise%20Pool/README.md)
20+
- [2637.有时间限制的 Promise 对象](/javascript_solution/2600-2699/2637.Promise%20Time%20Limit/README.md)
21+
- [2648.生成斐波那契数列](/javascript_solution/2600-2699/2648.Generate%20Fibonacci%20Sequence/README.md)
22+
- [2649.嵌套数组生成器](/javascript_solution/2600-2699/2649.Nested%20Array%20Generator/README.md)
23+
- [2650.设计可取消函数](/javascript_solution/2600-2699/2650.Design%20Cancellable%20Function/README.md)
24+
- [2665.计数器 II](/javascript_solution/2600-2699/2665.Counter%20II/README.md)
25+
- [2666.只允许一次函数调用](/javascript_solution/2600-2699/2666.Allow%20One%20Function%20Call/README.md)
26+
- [2667.创建 Hello World 函数](/javascript_solution/2600-2699/2667.Create%20Hello%20World%20Function/README.md)
27+
- [2675.将对象数组转换为矩阵](/javascript_solution/2600-2699/2675.Array%20of%20Objects%20to%20Matrix/README.md)
28+
- [2676.节流](/javascript_solution/2600-2699/2676.Throttle/README.md)
29+
- [2677.分块数组](/javascript_solution/2600-2699/2677.Chunk%20Array/README.md)
30+
- [2690.无穷方法对象](/javascript_solution/2600-2699/2690.Infinite%20Method%20Object/README.md)
31+
- [2691.不可变辅助工具](/javascript_solution/2600-2699/2691.Immutability%20Helper/README.md)
32+
- [2692.使对象不可变](/javascript_solution/2600-2699/2692.Make%20Object%20Immutable/README.md)
33+
- [2693.使用自定义上下文调用函数](/javascript_solution/2600-2699/2693.Call%20Function%20with%20Custom%20Context/README.md)
34+
- [2694.事件发射器](/javascript_solution/2600-2699/2694.Event%20Emitter/README.md)
35+
- [2695.包装数组](/javascript_solution/2600-2699/2695.Array%20Wrapper/README.md)
36+
- [2700.两个对象之间的差异](/javascript_solution/2700-2799/2700.Differences%20Between%20Two%20Objects/README.md)
37+
- [2703.返回传递的参数的长度](/javascript_solution/2700-2799/2703.Return%20Length%20of%20Arguments%20Passed/README.md)
38+
- [2704.相等还是不相等](/javascript_solution/2700-2799/2704.To%20Be%20Or%20Not%20To%20Be/README.md)
39+
- [2705.精简对象](/javascript_solution/2700-2799/2705.Compact%20Object/README.md)
40+
- [2715.执行可取消的延迟函数](/javascript_solution/2700-2799/2715.Timeout%20Cancellation/README.md)
41+
- [2721.并行执行异步函数](/javascript_solution/2700-2799/2721.Execute%20Asynchronous%20Functions%20in%20Parallel/README.md)
42+
- [2722.根据 ID 合并两个数组](/javascript_solution/2700-2799/2722.Join%20Two%20Arrays%20by%20ID/README.md)
43+
- [2723.添加两个 Promise 对象](/javascript_solution/2700-2799/2723.Add%20Two%20Promises/README.md)
44+
- [2724.排序方式](/javascript_solution/2700-2799/2724.Sort%20By/README.md)
45+
- [2725.间隔取消](/javascript_solution/2700-2799/2725.Interval%20Cancellation/README.md)
46+
- [2726.使用方法链的计算器](/javascript_solution/2700-2799/2726.Calculator%20with%20Method%20Chaining/README.md)
47+
- [2727.判断对象是否为空](/javascript_solution/2700-2799/2727.Is%20Object%20Empty/README.md)
48+
- [2754.将函数绑定到上下文](/javascript_solution/2700-2799/2754.Bind%20Function%20to%20Context/README.md)
49+
- [2755.深度合并两个对象](/javascript_solution/2700-2799/2755.Deep%20Merge%20of%20Two%20Objects/README.md)
50+
- [2756.批处理查询](/javascript_solution/2700-2799/2756.Query%20Batching/README.md)
51+
- [2757.生成循环数组的值](/javascript_solution/2700-2799/2757.Generate%20Circular%20Array%20Values/README.md)
52+
- [2758.下一天](/javascript_solution/2700-2799/2758.Next%20Day/README.md)
53+
- [2759.将 JSON 字符串转换为对象](/javascript_solution/2700-2799/2759.Convert%20JSON%20String%20to%20Object/README.md)
54+
- [2774.数组的上界](/javascript_solution/2700-2799/2774.Array%20Upper%20Bound/README.md)
55+
- [2775.将 undefined 转为 null](/javascript_solution/2700-2799/2775.Undefined%20to%20Null/README.md)
56+
- [2776.转换回调函数为 Promise 函数](/javascript_solution/2700-2799/2776.Convert%20Callback%20Based%20Function%20to%20Promise%20Based%20Function/README.md)
57+
- [2777.日期范围生成器](/javascript_solution/2700-2799/2777.Date%20Range%20Generator/README.md)
58+
- [2794.从两个数组中创建对象](/javascript_solution/2700-2799/2794.Create%20Object%20from%20Two%20Arrays/README.md)
59+
- [2795.并行执行 Promise 以获取独有的结果](/javascript_solution/2700-2799/2795.Parallel%20Execution%20of%20Promises%20for%20Individual%20Results%20Retrieval/README.md)
60+
- [2796.重复字符串](/javascript_solution/2700-2799/2796.Repeat%20String/README.md)
61+
- [2797.带有占位符的部分函数](/javascript_solution/2700-2799/2797.Partial%20Function%20with%20Placeholders/README.md)
62+
- [2803.阶乘生成器](/javascript_solution/2800-2899/2803.Factorial%20Generator/README.md)
63+
- [2804.数组原型的 forEach 方法](/javascript_solution/2800-2899/2804.Array%20Prototype%20ForEach/README.md)
64+
- [2805.自定义间隔](/javascript_solution/2800-2899/2805.Custom%20Interval/README.md)
65+
- [2821.延迟每个 Promise 对象的解析](/javascript_solution/2800-2899/2821.Delay%20the%20Resolution%20of%20Each%20Promise/README.md)
66+
- [2822.对象反转](/javascript_solution/2800-2899/2822.Inversion%20of%20Object/README.md)
67+
- [2823.深度对象筛选](/javascript_solution/2800-2899/2823.Deep%20Object%20Filter/README.md)

‎solution/javascript_summary_en.md‎

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
- [2618.Check if Object Instance of Class](/javascript_solution/2600-2699/2618.Check%20if%20Object%20Instance%20of%20Class/README_EN.md)
2+
- [2619.Array Prototype Last](/javascript_solution/2600-2699/2619.Array%20Prototype%20Last/README_EN.md)
3+
- [2620.Counter](/javascript_solution/2600-2699/2620.Counter/README_EN.md)
4+
- [2621.Sleep](/javascript_solution/2600-2699/2621.Sleep/README_EN.md)
5+
- [2622.Cache With Time Limit](/javascript_solution/2600-2699/2622.Cache%20With%20Time%20Limit/README_EN.md)
6+
- [2623.Memoize](/javascript_solution/2600-2699/2623.Memoize/README_EN.md)
7+
- [2624.Snail Traversal](/javascript_solution/2600-2699/2624.Snail%20Traversal/README_EN.md)
8+
- [2625.Flatten Deeply Nested Array](/javascript_solution/2600-2699/2625.Flatten%20Deeply%20Nested%20Array/README_EN.md)
9+
- [2626.Array Reduce Transformation](/javascript_solution/2600-2699/2626.Array%20Reduce%20Transformation/README_EN.md)
10+
- [2627.Debounce](/javascript_solution/2600-2699/2627.Debounce/README_EN.md)
11+
- [2628.JSON Deep Equal](/javascript_solution/2600-2699/2628.JSON%20Deep%20Equal/README_EN.md)
12+
- [2629.Function Composition](/javascript_solution/2600-2699/2629.Function%20Composition/README_EN.md)
13+
- [2630.Memoize II](/javascript_solution/2600-2699/2630.Memoize%20II/README_EN.md)
14+
- [2631.Group By](/javascript_solution/2600-2699/2631.Group%20By/README_EN.md)
15+
- [2632.Curry](/javascript_solution/2600-2699/2632.Curry/README_EN.md)
16+
- [2633.Convert Object to JSON String](/javascript_solution/2600-2699/2633.Convert%20Object%20to%20JSON%20String/README_EN.md)
17+
- [2634.Filter Elements from Array](/javascript_solution/2600-2699/2634.Filter%20Elements%20from%20Array/README_EN.md)
18+
- [2635.Apply Transform Over Each Element in Array](/javascript_solution/2600-2699/2635.Apply%20Transform%20Over%20Each%20Element%20in%20Array/README_EN.md)
19+
- [2636.Promise Pool](/javascript_solution/2600-2699/2636.Promise%20Pool/README_EN.md)
20+
- [2637.Promise Time Limit](/javascript_solution/2600-2699/2637.Promise%20Time%20Limit/README_EN.md)
21+
- [2648.Generate Fibonacci Sequence](/javascript_solution/2600-2699/2648.Generate%20Fibonacci%20Sequence/README_EN.md)
22+
- [2649.Nested Array Generator](/javascript_solution/2600-2699/2649.Nested%20Array%20Generator/README_EN.md)
23+
- [2650.Design Cancellable Function](/javascript_solution/2600-2699/2650.Design%20Cancellable%20Function/README_EN.md)
24+
- [2665.Counter II](/javascript_solution/2600-2699/2665.Counter%20II/README_EN.md)
25+
- [2666.Allow One Function Call](/javascript_solution/2600-2699/2666.Allow%20One%20Function%20Call/README_EN.md)
26+
- [2667.Create Hello World Function](/javascript_solution/2600-2699/2667.Create%20Hello%20World%20Function/README_EN.md)
27+
- [2675.Array of Objects to Matrix](/javascript_solution/2600-2699/2675.Array%20of%20Objects%20to%20Matrix/README_EN.md)
28+
- [2676.Throttle](/javascript_solution/2600-2699/2676.Throttle/README_EN.md)
29+
- [2677.Chunk Array](/javascript_solution/2600-2699/2677.Chunk%20Array/README_EN.md)
30+
- [2690.Infinite Method Object](/javascript_solution/2600-2699/2690.Infinite%20Method%20Object/README_EN.md)
31+
- [2691.Immutability Helper](/javascript_solution/2600-2699/2691.Immutability%20Helper/README_EN.md)
32+
- [2692.Make Object Immutable](/javascript_solution/2600-2699/2692.Make%20Object%20Immutable/README_EN.md)
33+
- [2693.Call Function with Custom Context](/javascript_solution/2600-2699/2693.Call%20Function%20with%20Custom%20Context/README_EN.md)
34+
- [2694.Event Emitter](/javascript_solution/2600-2699/2694.Event%20Emitter/README_EN.md)
35+
- [2695.Array Wrapper](/javascript_solution/2600-2699/2695.Array%20Wrapper/README_EN.md)
36+
- [2700.Differences Between Two Objects](/javascript_solution/2700-2799/2700.Differences%20Between%20Two%20Objects/README_EN.md)
37+
- [2703.Return Length of Arguments Passed](/javascript_solution/2700-2799/2703.Return%20Length%20of%20Arguments%20Passed/README_EN.md)
38+
- [2704.To Be Or Not To Be](/javascript_solution/2700-2799/2704.To%20Be%20Or%20Not%20To%20Be/README_EN.md)
39+
- [2705.Compact Object](/javascript_solution/2700-2799/2705.Compact%20Object/README_EN.md)
40+
- [2715.Timeout Cancellation](/javascript_solution/2700-2799/2715.Timeout%20Cancellation/README_EN.md)
41+
- [2721.Execute Asynchronous Functions in Parallel](/javascript_solution/2700-2799/2721.Execute%20Asynchronous%20Functions%20in%20Parallel/README_EN.md)
42+
- [2722.Join Two Arrays by ID](/javascript_solution/2700-2799/2722.Join%20Two%20Arrays%20by%20ID/README_EN.md)
43+
- [2723.Add Two Promises](/javascript_solution/2700-2799/2723.Add%20Two%20Promises/README_EN.md)
44+
- [2724.Sort By](/javascript_solution/2700-2799/2724.Sort%20By/README_EN.md)
45+
- [2725.Interval Cancellation](/javascript_solution/2700-2799/2725.Interval%20Cancellation/README_EN.md)
46+
- [2726.Calculator with Method Chaining](/javascript_solution/2700-2799/2726.Calculator%20with%20Method%20Chaining/README_EN.md)
47+
- [2727.Is Object Empty](/javascript_solution/2700-2799/2727.Is%20Object%20Empty/README_EN.md)
48+
- [2754.Bind Function to Context](/javascript_solution/2700-2799/2754.Bind%20Function%20to%20Context/README_EN.md)
49+
- [2755.Deep Merge of Two Objects](/javascript_solution/2700-2799/2755.Deep%20Merge%20of%20Two%20Objects/README_EN.md)
50+
- [2756.Query Batching](/javascript_solution/2700-2799/2756.Query%20Batching/README_EN.md)
51+
- [2757.Generate Circular Array Values](/javascript_solution/2700-2799/2757.Generate%20Circular%20Array%20Values/README_EN.md)
52+
- [2758.Next Day](/javascript_solution/2700-2799/2758.Next%20Day/README_EN.md)
53+
- [2759.Convert JSON String to Object](/javascript_solution/2700-2799/2759.Convert%20JSON%20String%20to%20Object/README_EN.md)
54+
- [2774.Array Upper Bound](/javascript_solution/2700-2799/2774.Array%20Upper%20Bound/README_EN.md)
55+
- [2775.Undefined to Null](/javascript_solution/2700-2799/2775.Undefined%20to%20Null/README_EN.md)
56+
- [2776.Convert Callback Based Function to Promise Based Function](/javascript_solution/2700-2799/2776.Convert%20Callback%20Based%20Function%20to%20Promise%20Based%20Function/README_EN.md)
57+
- [2777.Date Range Generator](/javascript_solution/2700-2799/2777.Date%20Range%20Generator/README_EN.md)
58+
- [2794.Create Object from Two Arrays](/javascript_solution/2700-2799/2794.Create%20Object%20from%20Two%20Arrays/README_EN.md)
59+
- [2795.Parallel Execution of Promises for Individual Results Retrieval](/javascript_solution/2700-2799/2795.Parallel%20Execution%20of%20Promises%20for%20Individual%20Results%20Retrieval/README_EN.md)
60+
- [2796.Repeat String](/javascript_solution/2700-2799/2796.Repeat%20String/README_EN.md)
61+
- [2797.Partial Function with Placeholders](/javascript_solution/2700-2799/2797.Partial%20Function%20with%20Placeholders/README_EN.md)
62+
- [2803.Factorial Generator](/javascript_solution/2800-2899/2803.Factorial%20Generator/README_EN.md)
63+
- [2804.Array Prototype ForEach](/javascript_solution/2800-2899/2804.Array%20Prototype%20ForEach/README_EN.md)
64+
- [2805.Custom Interval](/javascript_solution/2800-2899/2805.Custom%20Interval/README_EN.md)
65+
- [2821.Delay the Resolution of Each Promise](/javascript_solution/2800-2899/2821.Delay%20the%20Resolution%20of%20Each%20Promise/README_EN.md)
66+
- [2822.Inversion of Object](/javascript_solution/2800-2899/2822.Inversion%20of%20Object/README_EN.md)
67+
- [2823.Deep Object Filter](/javascript_solution/2800-2899/2823.Deep%20Object%20Filter/README_EN.md)

‎solution/util.py‎

Lines changed: 38 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ def generate_question_readme(result):
155155
item["title_cn"],
156156
item["url_cn"],
157157
item["relative_path_en"],
158-
item["content_cn"].replace('leetcode-cn.com', 'leetcode.cn'),
158+
item["content_cn"].replace("leetcode-cn.com", "leetcode.cn"),
159159
)
160160
)
161161

@@ -202,6 +202,42 @@ def generate_summary(result):
202202
f.write(summary_en)
203203

204204

205+
def generate_category_summary(result, category=""):
206+
"""generate category summary files"""
207+
summary_cn = summary_en = ""
208+
category = category.lower() if category else ""
209+
sub_category = category + "_" if category else ""
210+
m = {int(item["frontend_question_id"]): item for item in result}
211+
for file in sorted(os.listdir("./"), key=lambda x: x.lower()):
212+
if os.path.isdir("./" + file) and file != "__pycache__":
213+
for sub in sorted(os.listdir("./" + file), key=lambda x: x.lower()):
214+
sub = sub.replace("`", " ")
215+
enc = quote(sub)
216+
if not sub[:4].isdigit():
217+
continue
218+
data = m.get(int(sub[:4]))
219+
if not data or (category and data["category"].lower() != category):
220+
continue
221+
sub_cn = sub
222+
if data:
223+
sub_cn = sub[:5] + data["title_cn"]
224+
225+
summary_cn += (
226+
f" - [{sub_cn}](/{sub_category}solution/{file}/{enc}/README.md)\n"
227+
)
228+
summary_en += (
229+
f" - [{sub}](/{sub_category}solution/{file}/{enc}/README_EN.md)\n"
230+
)
231+
232+
# generate summary.md
233+
with open(f"./{sub_category}summary.md", "w", encoding="utf-8") as f:
234+
f.write(summary_cn)
235+
236+
# generate summary_en.md
237+
with open(f"./{sub_category}summary_en.md", "w", encoding="utf-8") as f:
238+
f.write(summary_en)
239+
240+
205241
def refresh(result):
206242
"""update problems"""
207243
pattern = re.compile('src="(.*?)"')
@@ -248,7 +284,7 @@ def refresh(result):
248284
)
249285
cn_content = cn_content.replace(url, new_url)
250286

251-
cn_content = cn_content.replace('leetcode-cn.com', 'leetcode.cn')
287+
cn_content = cn_content.replace("leetcode-cn.com", "leetcode.cn")
252288
with open(path_cn, "w", encoding="utf-8") as f1:
253289
f1.write(cn_content)
254290

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /