diff --git a/README.md b/README.md index 992a830c30052..0ba21500caf79 100644 --- a/README.md +++ b/README.md @@ -31,6 +31,11 @@ - [剑指 Offer(专项突击版)](/lcof2/README.md) - [程序员面试金典(第 6 版)](/lcci/README.md) +## 专项突破 + +- [JavaScript 专项练习](/solution/JAVASCRIPT_README.md) +- [数据库专项练习](/solution/DATABASE_README.md) + ## 算法提升专题 ### 1. 基础算法 diff --git a/README_EN.md b/README_EN.md index bc76d1c01d0f1..d99993f711b18 100644 --- a/README_EN.md +++ b/README_EN.md @@ -32,6 +32,11 @@ The repository is maintained by the Doocs community, and please give us a [star] - [LCOF: Coding Interviews, 2nd Edition](/lcof/README_EN.md) - [LCCI: Cracking the Coding Interview, 6th Edition](/lcci/README_EN.md) +## JavaScript & Database Practice + +- [JavaScript Practice](/solution/JAVASCRIPT_README_EN.md) +- [Database Practice](/solution/DATABASE_README_EN.md) + ## Topics ### 1. Basic Algorithms diff --git a/lcci/README.md b/lcci/README.md index 4b25d440f3cda..18dffb05a6bd9 100644 --- a/lcci/README.md +++ b/lcci/README.md @@ -8,7 +8,7 @@ 列表所有题解均由 [开源社区 Doocs](https://github.com/doocs) 贡献者提供,正在完善中,欢迎贡献你的题解! -快速搜索题号、题解、标签等,请善用 Control+F(或者 Command+F)。 +快速搜索题号、题解、标签等,请善用 Control + F(或者 Command + F)。 | 题号 | 题解 | 标签 | 难度 | | --------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | --------------------------------------------- | ---- | diff --git a/lcci/README_EN.md b/lcci/README_EN.md index ed4576c0fe420..8abc13783189b 100644 --- a/lcci/README_EN.md +++ b/lcci/README_EN.md @@ -6,7 +6,7 @@ _Cracking the Coding Interview, 6th Edition_ is here to help you through this pr ## Solutions -Press Control+F(or Command+F on the Mac) to search anything you want. +Press Control + F(or Command + F on the Mac) to search anything you want. | # | Solution | Tag | Difficulty | | --------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ | ---------- | diff --git a/lcof/README.md b/lcof/README.md index 0bda9267a0a72..458b2a4fe811a 100644 --- a/lcof/README.md +++ b/lcof/README.md @@ -10,7 +10,7 @@ 列表所有题解均由 [开源社区 Doocs](https://github.com/doocs) 贡献者提供,正在完善中,欢迎贡献你的题解! -快速搜索题号、题解、标签等,请善用 Control+F(或者 Command+F)。 +快速搜索题号、题解、标签等,请善用 Control + F(或者 Command + F)。 | 题号 | 题解 | 标签 | 难度 | | ---------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------- | ---- | diff --git a/lcof/README_EN.md b/lcof/README_EN.md index f4059f3e7d4f2..521f6dc6cdd64 100644 --- a/lcof/README_EN.md +++ b/lcof/README_EN.md @@ -12,7 +12,7 @@ Readers will improve their interview performance after reading this book. It wil English Solutions is not available for the book. Please switch to Chinese version. -Press Control+F(or Command+F on the Mac) to search anything you want. +Press Control + F(or Command + F on the Mac) to search anything you want. ## Copyright diff --git a/lcof2/README.md b/lcof2/README.md index de53b8f9e789e..843fd25c800c2 100644 --- a/lcof2/README.md +++ b/lcof2/README.md @@ -8,7 +8,7 @@ 列表所有题解均由 [开源社区 Doocs](https://github.com/doocs) 贡献者提供,正在完善中,欢迎贡献你的题解! -快速搜索题号、题解、标签等,请善用 Control+F(或者 Command+F)。 +快速搜索题号、题解、标签等,请善用 Control + F(或者 Command + F)。 | 题号 | 题解 | 标签 | 难度 | 备注 | | ------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ---- | ---- | diff --git a/lcp/README.md b/lcp/README.md index 8d29aad81b7a9..c2e68a45a5fb5 100644 --- a/lcp/README.md +++ b/lcp/README.md @@ -4,7 +4,7 @@ 列表所有题解均由 [开源社区 Doocs](https://github.com/doocs) 贡献者提供,正在完善中,欢迎贡献你的题解! -快速搜索题号、题解、标签等,请善用 Control+F(或者 Command+F)。 +快速搜索题号、题解、标签等,请善用 Control + F(或者 Command + F)。 | 题号 | 题解 | 标签 | 难度 | | -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------- | ---- | diff --git a/lcs/README.md b/lcs/README.md index 37943b3f7ccd8..54cbf9fefa6f8 100644 --- a/lcs/README.md +++ b/lcs/README.md @@ -4,7 +4,7 @@ 列表所有题解均由 [开源社区 Doocs](https://github.com/doocs) 贡献者提供,正在完善中,欢迎贡献你的题解! -快速搜索题号、题解、标签等,请善用 Control+F(或者 Command+F)。 +快速搜索题号、题解、标签等,请善用 Control + F(或者 Command + F)。 | 题号 | 题解 | 标签 | 难度 | 备注 | | ---------------------------------------------- | -------------------------------------------------------------------------------------------------- | ---------------------------------------------------- | ---- | ---- | diff --git a/main.js b/main.js index 47a21c6cc888a..96f2d589e6b09 100644 --- a/main.js +++ b/main.js @@ -2,7 +2,24 @@ const isEn = () => location.hash.includes('README_EN'); const isRoot = () => ['', '#/', '#/README', '#/README_EN'].includes(location.hash); -const sidebar = () => (isRoot() ? false : isEn() ? 'summary_en.md' : 'summary.md'); +const categories = ['javascript', 'database']; + +const getSolutionPrefix = url => { + const res = categories.find( + category => + url.includes(category + '-solution') || + url.includes(category.toUpperCase() + '_README'), + ); + return res ? res + '-' : ''; +}; + +const sidebar = () => { + if (isRoot()) { + return false; + } + const prefix = getSolutionPrefix(location.hash); + return isEn() ? `${prefix}summary_en.md` : `${prefix}summary.md`; +}; const cleanedHtml = html => { return html.replace(/
([\s\S]*?)<\/pre>/g, (_, group) => {
@@ -10,12 +27,27 @@ const cleanedHtml = html => {
 });
 };
 
+const replaceHref = html => {
+ const prefix = getSolutionPrefix(location.hash);
+ return prefix ? html.replaceAll('(/solution/', '(/' + prefix + 'solution/') : html;
+};
+
 const getLang = () => (isEn() ? 'en' : 'zh-CN');
 
 const giscusTheme = () =>
 localStorage.getItem('DARK_LIGHT_THEME') === 'light' ? 'light' : 'noborder_dark';
 
-const getTerm = () => decodeURI(location.hash.slice(1, location.hash.lastIndexOf('/')) || '/index');
+const getTerm = () => {
+ let path = decodeURI(location.hash.slice(1, location.hash.lastIndexOf('/'))) || '/index';
+ // restore original path
+ for (const prefix of categories) {
+ const s = `${prefix}-solution`;
+ if (path.includes(s)) {
+ path = path.replace(s, 'solution');
+ }
+ }
+ return path;
+};
 
 window.addEventListener('hashchange', () => {
 window.$docsify.loadSidebar = sidebar();
@@ -34,6 +66,9 @@ window.$docsify = {
 auto2top: true,
 subMaxLevel: 2,
 alias: {
+ '^/javascript-solution/(.*)': '/solution/1ドル',
+ '^/shell-solution/(.*)': '/solution/1ドル',
+ '^/database-solution/(.*)': '/solution/1ドル',
 '/lcs/.*/summary.md': '/lcs/summary.md',
 '/lcp/.*/summary.md': '/lcp/summary.md',
 '/lcci/.*/summary.md': '/lcci/summary.md',
@@ -128,6 +163,7 @@ window.$docsify = {
 const github = `[GitHub](${url})`;
 const gitee = `[Gitee](${url.replace('github', 'gitee')})`;
 html = cleanedHtml(html);
+ html = replaceHref(html);
 const editHtml = isEn()
 ? `:memo: Edit on ${github} / ${gitee}\n`
 : `:memo: 在 ${github} / ${gitee} 编辑\n`;
diff --git a/solution/DATABASE_README.md b/solution/DATABASE_README.md
new file mode 100644
index 0000000000000..f8ddaae965e5f
--- /dev/null
+++ b/solution/DATABASE_README.md
@@ -0,0 +1,251 @@
+# 数据库专项练习
+
+[English Version](/solution/DATABASE_README_EN.md)
+
+## 题解
+
+列表所有题解均由 [开源社区 Doocs](https://github.com/doocs) 贡献者提供,正在完善中,欢迎贡献你的题解!
+
+快速搜索题号、题解、标签等,请善用 Control + F(或者 Command + F)。
+
+| 题号 | 题解 | 标签 | 难度 | 备注 |
+| ---- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------- | ---- | ---- |
+| 0175 | [组合两个表](/solution/0100-0199/0175.Combine%20Two%20Tables/README.md) | `数据库` | 简单 | |
+| 0176 | [第二高的薪水](/solution/0100-0199/0176.Second%20Highest%20Salary/README.md) | `数据库` | 中等 | |
+| 0177 | [第 N 高的薪水](/solution/0100-0199/0177.Nth%20Highest%20Salary/README.md) | `数据库` | 中等 | |
+| 0178 | [分数排名](/solution/0100-0199/0178.Rank%20Scores/README.md) | `数据库` | 中等 | |
+| 0180 | [连续出现的数字](/solution/0100-0199/0180.Consecutive%20Numbers/README.md) | `数据库` | 中等 | |
+| 0181 | [超过经理收入的员工](/solution/0100-0199/0181.Employees%20Earning%20More%20Than%20Their%20Managers/README.md) | `数据库` | 简单 | |
+| 0182 | [查找重复的电子邮箱](/solution/0100-0199/0182.Duplicate%20Emails/README.md) | `数据库` | 简单 | |
+| 0183 | [从不订购的客户](/solution/0100-0199/0183.Customers%20Who%20Never%20Order/README.md) | `数据库` | 简单 | |
+| 0184 | [部门工资最高的员工](/solution/0100-0199/0184.Department%20Highest%20Salary/README.md) | `数据库` | 中等 | |
+| 0185 | [部门工资前三高的所有员工](/solution/0100-0199/0185.Department%20Top%20Three%20Salaries/README.md) | `数据库` | 困难 | |
+| 0196 | [删除重复的电子邮箱](/solution/0100-0199/0196.Delete%20Duplicate%20Emails/README.md) | `数据库` | 简单 | |
+| 0197 | [上升的温度](/solution/0100-0199/0197.Rising%20Temperature/README.md) | `数据库` | 简单 | |
+| 0262 | [行程和用户](/solution/0200-0299/0262.Trips%20and%20Users/README.md) | `数据库` | 困难 | |
+| 0511 | [游戏玩法分析 I](/solution/0500-0599/0511.Game%20Play%20Analysis%20I/README.md) | `数据库` | 简单 | |
+| 0512 | [游戏玩法分析 II](/solution/0500-0599/0512.Game%20Play%20Analysis%20II/README.md) | `数据库` | 简单 | 🔒 |
+| 0534 | [游戏玩法分析 III](/solution/0500-0599/0534.Game%20Play%20Analysis%20III/README.md) | `数据库` | 中等 | 🔒 |
+| 0550 | [游戏玩法分析 IV](/solution/0500-0599/0550.Game%20Play%20Analysis%20IV/README.md) | `数据库` | 中等 | |
+| 0569 | [员工薪水中位数](/solution/0500-0599/0569.Median%20Employee%20Salary/README.md) | `数据库` | 困难 | 🔒 |
+| 0570 | [至少有 5 名直接下属的经理](/solution/0500-0599/0570.Managers%20with%20at%20Least%205%20Direct%20Reports/README.md) | `数据库` | 中等 | |
+| 0571 | [给定数字的频率查询中位数](/solution/0500-0599/0571.Find%20Median%20Given%20Frequency%20of%20Numbers/README.md) | `数据库` | 困难 | 🔒 |
+| 0574 | [当选者](/solution/0500-0599/0574.Winning%20Candidate/README.md) | `数据库` | 中等 | 🔒 |
+| 0577 | [员工奖金](/solution/0500-0599/0577.Employee%20Bonus/README.md) | `数据库` | 简单 | |
+| 0578 | [查询回答率最高的问题](/solution/0500-0599/0578.Get%20Highest%20Answer%20Rate%20Question/README.md) | `数据库` | 中等 | 🔒 |
+| 0579 | [查询员工的累计薪水](/solution/0500-0599/0579.Find%20Cumulative%20Salary%20of%20an%20Employee/README.md) | `数据库` | 困难 | 🔒 |
+| 0580 | [统计各专业学生人数](/solution/0500-0599/0580.Count%20Student%20Number%20in%20Departments/README.md) | `数据库` | 中等 | 🔒 |
+| 0584 | [寻找用户推荐人](/solution/0500-0599/0584.Find%20Customer%20Referee/README.md) | `数据库` | 简单 | |
+| 0585 | [2016 年的投资](/solution/0500-0599/0585.Investments%20in%202016/README.md) | `数据库` | 中等 | |
+| 0586 | [订单最多的客户](/solution/0500-0599/0586.Customer%20Placing%20the%20Largest%20Number%20of%20Orders/README.md) | `数据库` | 简单 | |
+| 0595 | [大的国家](/solution/0500-0599/0595.Big%20Countries/README.md) | `数据库` | 简单 | |
+| 0596 | [超过 5 名学生的课](/solution/0500-0599/0596.Classes%20More%20Than%205%20Students/README.md) | `数据库` | 简单 | |
+| 0597 | [好友申请 I:总体通过率](/solution/0500-0599/0597.Friend%20Requests%20I%20Overall%20Acceptance%20Rate/README.md) | `数据库` | 简单 | 🔒 |
+| 0601 | [体育馆的人流量](/solution/0600-0699/0601.Human%20Traffic%20of%20Stadium/README.md) | `数据库` | 困难 | |
+| 0602 | [好友申请 II :谁有最多的好友](/solution/0600-0699/0602.Friend%20Requests%20II%20Who%20Has%20the%20Most%20Friends/README.md) | `数据库` | 中等 | |
+| 0603 | [连续空余座位](/solution/0600-0699/0603.Consecutive%20Available%20Seats/README.md) | `数据库` | 简单 | 🔒 |
+| 0607 | [销售员](/solution/0600-0699/0607.Sales%20Person/README.md) | `数据库` | 简单 | |
+| 0608 | [树节点](/solution/0600-0699/0608.Tree%20Node/README.md) | `数据库` | 中等 | |
+| 0610 | [判断三角形](/solution/0600-0699/0610.Triangle%20Judgement/README.md) | `数据库` | 简单 | |
+| 0612 | [平面上的最近距离](/solution/0600-0699/0612.Shortest%20Distance%20in%20a%20Plane/README.md) | `数据库` | 中等 | 🔒 |
+| 0613 | [直线上的最近距离](/solution/0600-0699/0613.Shortest%20Distance%20in%20a%20Line/README.md) | `数据库` | 简单 | 🔒 |
+| 0614 | [二级关注者](/solution/0600-0699/0614.Second%20Degree%20Follower/README.md) | `数据库` | 中等 | 🔒 |
+| 0615 | [平均工资:部门与公司比较](/solution/0600-0699/0615.Average%20Salary%20Departments%20VS%20Company/README.md) | `数据库` | 困难 | 🔒 |
+| 0618 | [学生地理信息报告](/solution/0600-0699/0618.Students%20Report%20By%20Geography/README.md) | `数据库` | 困难 | 🔒 |
+| 0619 | [只出现一次的最大数字](/solution/0600-0699/0619.Biggest%20Single%20Number/README.md) | `数据库` | 简单 | |
+| 0620 | [有趣的电影](/solution/0600-0699/0620.Not%20Boring%20Movies/README.md) | `数据库` | 简单 | |
+| 0626 | [换座位](/solution/0600-0699/0626.Exchange%20Seats/README.md) | `数据库` | 中等 | |
+| 0627 | [变更性别](/solution/0600-0699/0627.Swap%20Salary/README.md) | `数据库` | 简单 | |
+| 1045 | [买下所有产品的客户](/solution/1000-1099/1045.Customers%20Who%20Bought%20All%20Products/README.md) | `数据库` | 中等 | |
+| 1050 | [合作过至少三次的演员和导演](/solution/1000-1099/1050.Actors%20and%20Directors%20Who%20Cooperated%20At%20Least%20Three%20Times/README.md) | `数据库` | 简单 | |
+| 1068 | [产品销售分析 I](/solution/1000-1099/1068.Product%20Sales%20Analysis%20I/README.md) | `数据库` | 简单 | |
+| 1069 | [产品销售分析 II](/solution/1000-1099/1069.Product%20Sales%20Analysis%20II/README.md) | `数据库` | 简单 | 🔒 |
+| 1070 | [产品销售分析 III](/solution/1000-1099/1070.Product%20Sales%20Analysis%20III/README.md) | `数据库` | 中等 | |
+| 1075 | [项目员工 I](/solution/1000-1099/1075.Project%20Employees%20I/README.md) | `数据库` | 简单 | |
+| 1076 | [项目员工 II](/solution/1000-1099/1076.Project%20Employees%20II/README.md) | `数据库` | 简单 | 🔒 |
+| 1077 | [项目员工 III](/solution/1000-1099/1077.Project%20Employees%20III/README.md) | `数据库` | 中等 | 🔒 |
+| 1082 | [销售分析 I ](/solution/1000-1099/1082.Sales%20Analysis%20I/README.md) | `数据库` | 简单 | 🔒 |
+| 1083 | [销售分析 II](/solution/1000-1099/1083.Sales%20Analysis%20II/README.md) | `数据库` | 简单 | 🔒 |
+| 1084 | [销售分析 III](/solution/1000-1099/1084.Sales%20Analysis%20III/README.md) | `数据库` | 简单 | |
+| 1097 | [游戏玩法分析 V](/solution/1000-1099/1097.Game%20Play%20Analysis%20V/README.md) | `数据库` | 困难 | 🔒 |
+| 1098 | [小众书籍](/solution/1000-1099/1098.Unpopular%20Books/README.md) | `数据库` | 中等 | 🔒 |
+| 1107 | [每日新用户统计](/solution/1100-1199/1107.New%20Users%20Daily%20Count/README.md) | `数据库` | 中等 | 🔒 |
+| 1112 | [每位学生的最高成绩](/solution/1100-1199/1112.Highest%20Grade%20For%20Each%20Student/README.md) | `数据库` | 中等 | 🔒 |
+| 1113 | [报告的记录](/solution/1100-1199/1113.Reported%20Posts/README.md) | `数据库` | 简单 | 🔒 |
+| 1126 | [查询活跃业务](/solution/1100-1199/1126.Active%20Businesses/README.md) | `数据库` | 中等 | 🔒 |
+| 1127 | [用户购买平台](/solution/1100-1199/1127.User%20Purchase%20Platform/README.md) | `数据库` | 困难 | 🔒 |
+| 1132 | [报告的记录 II](/solution/1100-1199/1132.Reported%20Posts%20II/README.md) | `数据库` | 中等 | 🔒 |
+| 1141 | [查询近 30 天活跃用户数](/solution/1100-1199/1141.User%20Activity%20for%20the%20Past%2030%20Days%20I/README.md) | `数据库` | 简单 | |
+| 1142 | [过去 30 天的用户活动 II](/solution/1100-1199/1142.User%20Activity%20for%20the%20Past%2030%20Days%20II/README.md) | `数据库` | 简单 | 🔒 |
+| 1148 | [文章浏览 I](/solution/1100-1199/1148.Article%20Views%20I/README.md) | `数据库` | 简单 | |
+| 1149 | [文章浏览 II](/solution/1100-1199/1149.Article%20Views%20II/README.md) | `数据库` | 中等 | 🔒 |
+| 1158 | [市场分析 I](/solution/1100-1199/1158.Market%20Analysis%20I/README.md) | `数据库` | 中等 | |
+| 1159 | [市场分析 II](/solution/1100-1199/1159.Market%20Analysis%20II/README.md) | `数据库` | 困难 | 🔒 |
+| 1164 | [指定日期的产品价格](/solution/1100-1199/1164.Product%20Price%20at%20a%20Given%20Date/README.md) | `数据库` | 中等 | |
+| 1173 | [即时食物配送 I](/solution/1100-1199/1173.Immediate%20Food%20Delivery%20I/README.md) | `数据库` | 简单 | 🔒 |
+| 1174 | [即时食物配送 II](/solution/1100-1199/1174.Immediate%20Food%20Delivery%20II/README.md) | `数据库` | 中等 | |
+| 1179 | [重新格式化部门表](/solution/1100-1199/1179.Reformat%20Department%20Table/README.md) | `数据库` | 简单 | |
+| 1193 | [每月交易 I](/solution/1100-1199/1193.Monthly%20Transactions%20I/README.md) | `数据库` | 中等 | |
+| 1194 | [锦标赛优胜者](/solution/1100-1199/1194.Tournament%20Winners/README.md) | `数据库` | 困难 | 🔒 |
+| 1204 | [最后一个能进入巴士的人](/solution/1200-1299/1204.Last%20Person%20to%20Fit%20in%20the%20Bus/README.md) | `数据库` | 中等 | |
+| 1205 | [每月交易 II](/solution/1200-1299/1205.Monthly%20Transactions%20II/README.md) | `数据库` | 中等 | 🔒 |
+| 1211 | [查询结果的质量和占比](/solution/1200-1299/1211.Queries%20Quality%20and%20Percentage/README.md) | `数据库` | 简单 | |
+| 1212 | [查询球队积分](/solution/1200-1299/1212.Team%20Scores%20in%20Football%20Tournament/README.md) | `数据库` | 中等 | 🔒 |
+| 1225 | [报告系统状态的连续日期](/solution/1200-1299/1225.Report%20Contiguous%20Dates/README.md) | `数据库` | 困难 | 🔒 |
+| 1241 | [每个帖子的评论数](/solution/1200-1299/1241.Number%20of%20Comments%20per%20Post/README.md) | `数据库` | 简单 | 🔒 |
+| 1251 | [平均售价](/solution/1200-1299/1251.Average%20Selling%20Price/README.md) | `数据库` | 简单 | |
+| 1264 | [页面推荐](/solution/1200-1299/1264.Page%20Recommendations/README.md) | `数据库` | 中等 | 🔒 |
+| 1270 | [向公司 CEO 汇报工作的所有人](/solution/1200-1299/1270.All%20People%20Report%20to%20the%20Given%20Manager/README.md) | `数据库` | 中等 | 🔒 |
+| 1280 | [学生们参加各科测试的次数](/solution/1200-1299/1280.Students%20and%20Examinations/README.md) | `数据库` | 简单 | |
+| 1285 | [找到连续区间的开始和结束数字](/solution/1200-1299/1285.Find%20the%20Start%20and%20End%20Number%20of%20Continuous%20Ranges/README.md) | `数据库` | 中等 | 🔒 |
+| 1294 | [不同国家的天气类型](/solution/1200-1299/1294.Weather%20Type%20in%20Each%20Country/README.md) | `数据库` | 简单 | 🔒 |
+| 1303 | [求团队人数](/solution/1300-1399/1303.Find%20the%20Team%20Size/README.md) | `数据库` | 简单 | 🔒 |
+| 1308 | [不同性别每日分数总计](/solution/1300-1399/1308.Running%20Total%20for%20Different%20Genders/README.md) | `数据库` | 中等 | 🔒 |
+| 1321 | [餐馆营业额变化增长](/solution/1300-1399/1321.Restaurant%20Growth/README.md) | `数据库` | 中等 | |
+| 1322 | [广告效果](/solution/1300-1399/1322.Ads%20Performance/README.md) | `数据库` | 简单 | 🔒 |
+| 1327 | [列出指定时间段内所有的下单产品](/solution/1300-1399/1327.List%20the%20Products%20Ordered%20in%20a%20Period/README.md) | `数据库` | 简单 | |
+| 1336 | [每次访问的交易次数](/solution/1300-1399/1336.Number%20of%20Transactions%20per%20Visit/README.md) | `数据库` | 困难 | 🔒 |
+| 1341 | [电影评分](/solution/1300-1399/1341.Movie%20Rating/README.md) | `数据库` | 中等 | |
+| 1350 | [院系无效的学生](/solution/1300-1399/1350.Students%20With%20Invalid%20Departments/README.md) | `数据库` | 简单 | 🔒 |
+| 1355 | [活动参与者](/solution/1300-1399/1355.Activity%20Participants/README.md) | `数据库` | 中等 | 🔒 |
+| 1364 | [顾客的可信联系人数量](/solution/1300-1399/1364.Number%20of%20Trusted%20Contacts%20of%20a%20Customer/README.md) | `数据库` | 中等 | 🔒 |
+| 1369 | [获取最近第二次的活动](/solution/1300-1399/1369.Get%20the%20Second%20Most%20Recent%20Activity/README.md) | `数据库` | 困难 | 🔒 |
+| 1378 | [使用唯一标识码替换员工 ID](/solution/1300-1399/1378.Replace%20Employee%20ID%20With%20The%20Unique%20Identifier/README.md) | `数据库` | 简单 | |
+| 1384 | [按年度列出销售总额](/solution/1300-1399/1384.Total%20Sales%20Amount%20by%20Year/README.md) | `数据库` | 困难 | 🔒 |
+| 1393 | [股票的资本损益](/solution/1300-1399/1393.Capital%20GainLoss/README.md) | `数据库` | 中等 | |
+| 1398 | [购买了产品 A 和产品 B 却没有购买产品 C 的顾客](/solution/1300-1399/1398.Customers%20Who%20Bought%20Products%20A%20and%20B%20but%20Not%20C/README.md) | `数据库` | 中等 | 🔒 |
+| 1407 | [排名靠前的旅行者](/solution/1400-1499/1407.Top%20Travellers/README.md) | `数据库` | 简单 | |
+| 1412 | [查找成绩处于中游的学生](/solution/1400-1499/1412.Find%20the%20Quiet%20Students%20in%20All%20Exams/README.md) | `数据库` | 困难 | 🔒 |
+| 1421 | [净现值查询](/solution/1400-1499/1421.NPV%20Queries/README.md) | `数据库` | 简单 | 🔒 |
+| 1435 | [制作会话柱状图](/solution/1400-1499/1435.Create%20a%20Session%20Bar%20Chart/README.md) | `数据库` | 简单 | 🔒 |
+| 1440 | [计算布尔表达式的值](/solution/1400-1499/1440.Evaluate%20Boolean%20Expression/README.md) | `数据库` | 中等 | 🔒 |
+| 1445 | [苹果和桔子](/solution/1400-1499/1445.Apples%20%26%20Oranges/README.md) | `数据库` | 中等 | 🔒 |
+| 1454 | [活跃用户](/solution/1400-1499/1454.Active%20Users/README.md) | `数据库` | 中等 | 🔒 |
+| 1459 | [矩形面积](/solution/1400-1499/1459.Rectangles%20Area/README.md) | `数据库` | 中等 | 🔒 |
+| 1468 | [计算税后工资](/solution/1400-1499/1468.Calculate%20Salaries/README.md) | `数据库` | 中等 | 🔒 |
+| 1479 | [周内每天的销售情况](/solution/1400-1499/1479.Sales%20by%20Day%20of%20the%20Week/README.md) | `数据库` | 困难 | 🔒 |
+| 1484 | [按日期分组销售产品](/solution/1400-1499/1484.Group%20Sold%20Products%20By%20The%20Date/README.md) | `数据库` | 简单 | |
+| 1495 | [上月播放的儿童适宜电影](/solution/1400-1499/1495.Friendly%20Movies%20Streamed%20Last%20Month/README.md) | `数据库` | 简单 | 🔒 |
+| 1501 | [可以放心投资的国家](/solution/1500-1599/1501.Countries%20You%20Can%20Safely%20Invest%20In/README.md) | `数据库` | 中等 | 🔒 |
+| 1511 | [消费者下单频率](/solution/1500-1599/1511.Customer%20Order%20Frequency/README.md) | `数据库` | 简单 | 🔒 |
+| 1517 | [查找拥有有效邮箱的用户](/solution/1500-1599/1517.Find%20Users%20With%20Valid%20E-Mails/README.md) | `数据库` | 简单 | |
+| 1527 | [患某种疾病的患者](/solution/1500-1599/1527.Patients%20With%20a%20Condition/README.md) | `数据库` | 简单 | |
+| 1532 | [最近的三笔订单](/solution/1500-1599/1532.The%20Most%20Recent%20Three%20Orders/README.md) | `数据库` | 中等 | 🔒 |
+| 1543 | [产品名称格式修复](/solution/1500-1599/1543.Fix%20Product%20Name%20Format/README.md) | `数据库` | 简单 | 🔒 |
+| 1549 | [每件商品的最新订单](/solution/1500-1599/1549.The%20Most%20Recent%20Orders%20for%20Each%20Product/README.md) | `数据库` | 中等 | 🔒 |
+| 1555 | [银行账户概要](/solution/1500-1599/1555.Bank%20Account%20Summary/README.md) | `数据库` | 中等 | 🔒 |
+| 1565 | [按月统计订单数与顾客数](/solution/1500-1599/1565.Unique%20Orders%20and%20Customers%20Per%20Month/README.md) | `数据库` | 简单 | 🔒 |
+| 1571 | [仓库经理](/solution/1500-1599/1571.Warehouse%20Manager/README.md) | `数据库` | 简单 | 🔒 |
+| 1581 | [进店却未进行过交易的顾客](/solution/1500-1599/1581.Customer%20Who%20Visited%20but%20Did%20Not%20Make%20Any%20Transactions/README.md) | `数据库` | 简单 | |
+| 1587 | [银行账户概要 II](/solution/1500-1599/1587.Bank%20Account%20Summary%20II/README.md) | `数据库` | 简单 | |
+| 1596 | [每位顾客最经常订购的商品](/solution/1500-1599/1596.The%20Most%20Frequently%20Ordered%20Products%20for%20Each%20Customer/README.md) | `数据库` | 中等 | 🔒 |
+| 1607 | [没有卖出的卖家](/solution/1600-1699/1607.Sellers%20With%20No%20Sales/README.md) | `数据库` | 简单 | 🔒 |
+| 1613 | [找到遗失的 ID](/solution/1600-1699/1613.Find%20the%20Missing%20IDs/README.md) | `数据库` | 中等 | 🔒 |
+| 1623 | [三人国家代表队](/solution/1600-1699/1623.All%20Valid%20Triplets%20That%20Can%20Represent%20a%20Country/README.md) | `数据库` | 简单 | 🔒 |
+| 1633 | [各赛事的用户注册率](/solution/1600-1699/1633.Percentage%20of%20Users%20Attended%20a%20Contest/README.md) | `数据库` | 简单 | |
+| 1635 | [Hopper 公司查询 I](/solution/1600-1699/1635.Hopper%20Company%20Queries%20I/README.md) | `数据库` | 困难 | 🔒 |
+| 1645 | [1645.Hopper 公司查询 II](/solution/1600-1699/1645.Hopper%20Company%20Queries%20II/README.md) | `数据库` | 困难 | 🔒 |
+| 1651 | [Hopper 公司查询 III](/solution/1600-1699/1651.Hopper%20Company%20Queries%20III/README.md) | `数据库` | 困难 | 🔒 |
+| 1661 | [每台机器的进程平均运行时间](/solution/1600-1699/1661.Average%20Time%20of%20Process%20per%20Machine/README.md) | `数据库` | 简单 | |
+| 1667 | [修复表中的名字](/solution/1600-1699/1667.Fix%20Names%20in%20a%20Table/README.md) | `数据库` | 简单 | |
+| 1677 | [发票中的产品金额](/solution/1600-1699/1677.Product%27s%20Worth%20Over%20Invoices/README.md) | `数据库` | 简单 | 🔒 |
+| 1683 | [无效的推文](/solution/1600-1699/1683.Invalid%20Tweets/README.md) | `数据库` | 简单 | |
+| 1693 | [每天的领导和合伙人](/solution/1600-1699/1693.Daily%20Leads%20and%20Partners/README.md) | `数据库` | 简单 | |
+| 1699 | [两人之间的通话次数](/solution/1600-1699/1699.Number%20of%20Calls%20Between%20Two%20Persons/README.md) | `数据库` | 中等 | 🔒 |
+| 1709 | [访问日期之间最大的空档期](/solution/1700-1799/1709.Biggest%20Window%20Between%20Visits/README.md) | `数据库` | 中等 | 🔒 |
+| 1715 | [苹果和橘子的个数](/solution/1700-1799/1715.Count%20Apples%20and%20Oranges/README.md) | `数据库` | 中等 | 🔒 |
+| 1729 | [求关注者的数量](/solution/1700-1799/1729.Find%20Followers%20Count/README.md) | `数据库` | 简单 | |
+| 1731 | [每位经理的下属员工数量](/solution/1700-1799/1731.The%20Number%20of%20Employees%20Which%20Report%20to%20Each%20Employee/README.md) | `数据库` | 简单 | |
+| 1741 | [查找每个员工花费的总时间](/solution/1700-1799/1741.Find%20Total%20Time%20Spent%20by%20Each%20Employee/README.md) | `数据库` | 简单 | |
+| 1747 | [应该被禁止的 Leetflex 账户](/solution/1700-1799/1747.Leetflex%20Banned%20Accounts/README.md) | `数据库` | 中等 | 🔒 |
+| 1757 | [可回收且低脂的产品](/solution/1700-1799/1757.Recyclable%20and%20Low%20Fat%20Products/README.md) | `数据库` | 简单 | |
+| 1767 | [寻找没有被执行的任务对](/solution/1700-1799/1767.Find%20the%20Subtasks%20That%20Did%20Not%20Execute/README.md) | `数据库` | 困难 | 🔒 |
+| 1777 | [每家商店的产品价格](/solution/1700-1799/1777.Product%27s%20Price%20for%20Each%20Store/README.md) | `数据库` | 简单 | 🔒 |
+| 1783 | [大满贯数量](/solution/1700-1799/1783.Grand%20Slam%20Titles/README.md) | `数据库` | 中等 | 🔒 |
+| 1789 | [员工的直属部门](/solution/1700-1799/1789.Primary%20Department%20for%20Each%20Employee/README.md) | `数据库` | 简单 | |
+| 1795 | [每个产品在不同商店的价格](/solution/1700-1799/1795.Rearrange%20Products%20Table/README.md) | `数据库` | 简单 | |
+| 1809 | [没有广告的剧集](/solution/1800-1899/1809.Ad-Free%20Sessions/README.md) | `数据库` | 简单 | 🔒 |
+| 1811 | [寻找面试候选人](/solution/1800-1899/1811.Find%20Interview%20Candidates/README.md) | `数据库` | 中等 | 🔒 |
+| 1821 | [寻找今年具有正收入的客户](/solution/1800-1899/1821.Find%20Customers%20With%20Positive%20Revenue%20this%20Year/README.md) | `数据库` | 简单 | 🔒 |
+| 1831 | [每天的最大交易](/solution/1800-1899/1831.Maximum%20Transaction%20Each%20Day/README.md) | `数据库` | 中等 | 🔒 |
+| 1841 | [联赛信息统计](/solution/1800-1899/1841.League%20Statistics/README.md) | `数据库` | 中等 | 🔒 |
+| 1843 | [可疑银行账户](/solution/1800-1899/1843.Suspicious%20Bank%20Accounts/README.md) | `数据库` | 中等 | 🔒 |
+| 1853 | [转换日期格式](/solution/1800-1899/1853.Convert%20Date%20Format/README.md) | `数据库` | 简单 | 🔒 |
+| 1867 | [最大数量高于平均水平的订单](/solution/1800-1899/1867.Orders%20With%20Maximum%20Quantity%20Above%20Average/README.md) | `数据库` | 中等 | 🔒 |
+| 1873 | [计算特殊奖金](/solution/1800-1899/1873.Calculate%20Special%20Bonus/README.md) | `数据库` | 简单 | |
+| 1875 | [将工资相同的雇员分组](/solution/1800-1899/1875.Group%20Employees%20of%20the%20Same%20Salary/README.md) | `数据库` | 中等 | 🔒 |
+| 1890 | [2020 年最后一次登录](/solution/1800-1899/1890.The%20Latest%20Login%20in%202020/README.md) | `数据库` | 简单 | |
+| 1892 | [页面推荐 II](/solution/1800-1899/1892.Page%20Recommendations%20II/README.md) | `数据库` | 困难 | 🔒 |
+| 1907 | [按分类统计薪水](/solution/1900-1999/1907.Count%20Salary%20Categories/README.md) | `数据库` | 中等 | |
+| 1917 | [Leetcodify 好友推荐](/solution/1900-1999/1917.Leetcodify%20Friends%20Recommendations/README.md) | `数据库` | 困难 | 🔒 |
+| 1919 | [兴趣相同的朋友](/solution/1900-1999/1919.Leetcodify%20Similar%20Friends/README.md) | `数据库` | 困难 | 🔒 |
+| 1934 | [确认率](/solution/1900-1999/1934.Confirmation%20Rate/README.md) | `数据库` | 中等 | |
+| 1939 | [主动请求确认消息的用户](/solution/1900-1999/1939.Users%20That%20Actively%20Request%20Confirmation%20Messages/README.md) | `数据库` | 简单 | 🔒 |
+| 1949 | [坚定的友谊](/solution/1900-1999/1949.Strong%20Friendship/README.md) | `数据库` | 中等 | 🔒 |
+| 1951 | [查询具有最多共同关注者的所有两两结对组](/solution/1900-1999/1951.All%20the%20Pairs%20With%20the%20Maximum%20Number%20of%20Common%20Followers/README.md) | `数据库` | 中等 | 🔒 |
+| 1965 | [丢失信息的雇员](/solution/1900-1999/1965.Employees%20With%20Missing%20Information/README.md) | `数据库` | 简单 | |
+| 1972 | [同一天的第一个电话和最后一个电话](/solution/1900-1999/1972.First%20and%20Last%20Call%20On%20the%20Same%20Day/README.md) | `数据库` | 困难 | 🔒 |
+| 1978 | [上级经理已离职的公司员工](/solution/1900-1999/1978.Employees%20Whose%20Manager%20Left%20the%20Company/README.md) | `数据库` | 简单 | |
+| 1988 | [找出每所学校的最低分数要求](/solution/1900-1999/1988.Find%20Cutoff%20Score%20for%20Each%20School/README.md) | `数据库` | 中等 | 🔒 |
+| 1990 | [统计实验的数量](/solution/1900-1999/1990.Count%20the%20Number%20of%20Experiments/README.md) | `数据库` | 中等 | 🔒 |
+| 2004 | [职员招聘人数](/solution/2000-2099/2004.The%20Number%20of%20Seniors%20and%20Juniors%20to%20Join%20the%20Company/README.md) | `数据库` | 困难 | 🔒 |
+| 2010 | [职员招聘人数 II](/solution/2000-2099/2010.The%20Number%20of%20Seniors%20and%20Juniors%20to%20Join%20the%20Company%20II/README.md) | `数据库` | 困难 | 🔒 |
+| 2020 | [无流量的帐户数](/solution/2000-2099/2020.Number%20of%20Accounts%20That%20Did%20Not%20Stream/README.md) | `数据库` | 中等 | 🔒 |
+| 2026 | [低质量的问题](/solution/2000-2099/2026.Low-Quality%20Problems/README.md) | `数据库` | 简单 | 🔒 |
+| 2041 | [面试中被录取的候选人](/solution/2000-2099/2041.Accepted%20Candidates%20From%20the%20Interviews/README.md) | `数据库` | 中等 | 🔒 |
+| 2051 | [商店中每个成员的级别](/solution/2000-2099/2051.The%20Category%20of%20Each%20Member%20in%20the%20Store/README.md) | `数据库` | 中等 | 🔒 |
+| 2066 | [账户余额](/solution/2000-2099/2066.Account%20Balance/README.md) | `数据库` | 中等 | 🔒 |
+| 2072 | [赢得比赛的大学](/solution/2000-2099/2072.The%20Winner%20University/README.md) | `数据库` | 简单 | 🔒 |
+| 2082 | [富有客户的数量](/solution/2000-2099/2082.The%20Number%20of%20Rich%20Customers/README.md) | `数据库` | 简单 | 🔒 |
+| 2084 | [为订单类型为 0 的客户删除类型为 1 的订单](/solution/2000-2099/2084.Drop%20Type%201%20Orders%20for%20Customers%20With%20Type%200%20Orders/README.md) | `数据库` | 中等 | 🔒 |
+| 2112 | [最繁忙的机场](/solution/2100-2199/2112.The%20Airport%20With%20the%20Most%20Traffic/README.md) | `数据库` | 中等 | 🔒 |
+| 2118 | [建立方程](/solution/2100-2199/2118.Build%20the%20Equation/README.md) | `数据库` | 困难 | 🔒 |
+| 2142 | [每辆车的乘客人数 I](/solution/2100-2199/2142.The%20Number%20of%20Passengers%20in%20Each%20Bus%20I/README.md) | `数据库` | 中等 | 🔒 |
+| 2153 | [每辆车的乘客人数 II](/solution/2100-2199/2153.The%20Number%20of%20Passengers%20in%20Each%20Bus%20II/README.md) | `数据库` | 困难 | 🔒 |
+| 2159 | [分别排序两列](/solution/2100-2199/2159.Order%20Two%20Columns%20Independently/README.md) | `数据库` | 中等 | 🔒 |
+| 2173 | [最多连胜的次数](/solution/2100-2199/2173.Longest%20Winning%20Streak/README.md) | `数据库` | 困难 | 🔒 |
+| 2175 | [世界排名的变化](/solution/2100-2199/2175.The%20Change%20in%20Global%20Rankings/README.md) | `数据库` | 中等 | 🔒 |
+| 2199 | [找到每篇文章的主题](/solution/2100-2199/2199.Finding%20the%20Topic%20of%20Each%20Post/README.md) | `数据库` | 困难 | 🔒 |
+| 2205 | [有资格享受折扣的用户数量](/solution/2200-2299/2205.The%20Number%20of%20Users%20That%20Are%20Eligible%20for%20Discount/README.md) | `数据库` | 简单 | 🔒 |
+| 2228 | [7 天内两次购买的用户](/solution/2200-2299/2228.Users%20With%20Two%20Purchases%20Within%20Seven%20Days/README.md) | `数据库` | 中等 | 🔒 |
+| 2230 | [查找可享受优惠的用户](/solution/2200-2299/2230.The%20Users%20That%20Are%20Eligible%20for%20Discount/README.md) | `数据库` | 简单 | 🔒 |
+| 2238 | [司机成为乘客的次数](/solution/2200-2299/2238.Number%20of%20Times%20a%20Driver%20Was%20a%20Passenger/README.md) | `数据库` | 中等 | 🔒 |
+| 2252 | [表的动态旋转](/solution/2200-2299/2252.Dynamic%20Pivoting%20of%20a%20Table/README.md) | `数据库` | 困难 | 🔒 |
+| 2253 | [动态取消表的旋转](/solution/2200-2299/2253.Dynamic%20Unpivoting%20of%20a%20Table/README.md) | `数据库` | 困难 | 🔒 |
+| 2292 | [连续两年有 3 个及以上订单的产品](/solution/2200-2299/2292.Products%20With%20Three%20or%20More%20Orders%20in%20Two%20Consecutive%20Years/README.md) | `数据库` | 中等 | 🔒 |
+| 2298 | [周末任务计数](/solution/2200-2299/2298.Tasks%20Count%20in%20the%20Weekend/README.md) | `数据库` | 中等 | 🔒 |
+| 2308 | [按性别排列表格](/solution/2300-2399/2308.Arrange%20Table%20by%20Gender/README.md) | `数据库` | 中等 | 🔒 |
+| 2314 | [每个城市最高气温的第一天](/solution/2300-2399/2314.The%20First%20Day%20of%20the%20Maximum%20Recorded%20Degree%20in%20Each%20City/README.md) | `数据库` | 中等 | 🔒 |
+| 2324 | [产品销售分析 IV](/solution/2300-2399/2324.Product%20Sales%20Analysis%20IV/README.md) | `数据库` | 中等 | 🔒 |
+| 2329 | [产品销售分析 V](/solution/2300-2399/2329.Product%20Sales%20Analysis%20V/README.md) | `数据库` | 简单 | 🔒 |
+| 2339 | [联赛的所有比赛](/solution/2300-2399/2339.All%20the%20Matches%20of%20the%20League/README.md) | `数据库` | 简单 | 🔒 |
+| 2346 | [以百分比计算排名](/solution/2300-2399/2346.Compute%20the%20Rank%20as%20a%20Percentage/README.md) | `数据库` | 中等 | 🔒 |
+| 2356 | [每位教师所教授的科目种类的数量](/solution/2300-2399/2356.Number%20of%20Unique%20Subjects%20Taught%20by%20Each%20Teacher/README.md) | `数据库` | 简单 | |
+| 2362 | [生成发票](/solution/2300-2399/2362.Generate%20the%20Invoice/README.md) | `数据库` | 困难 | 🔒 |
+| 2372 | [计算每个销售人员的影响力](/solution/2300-2399/2372.Calculate%20the%20Influence%20of%20Each%20Salesperson/README.md) | `数据库` | 中等 | 🔒 |
+| 2377 | [整理奥运表](/solution/2300-2399/2377.Sort%20the%20Olympic%20Table/README.md) | `数据库` | 简单 | 🔒 |
+| 2388 | [将表中的空值更改为前一个值](/solution/2300-2399/2388.Change%20Null%20Values%20in%20a%20Table%20to%20the%20Previous%20Value/README.md) | `数据库` | 中等 | 🔒 |
+| 2394 | [开除员工](/solution/2300-2399/2394.Employees%20With%20Deductions/README.md) | `数据库` | 中等 | 🔒 |
+| 2474 | [购买量严格增加的客户](/solution/2400-2499/2474.Customers%20With%20Strictly%20Increasing%20Purchases/README.md) | `数据库` | 困难 | 🔒 |
+| 2480 | [形成化学键](/solution/2400-2499/2480.Form%20a%20Chemical%20Bond/README.md) | `数据库` | 简单 | 🔒 |
+| 2494 | [合并在同一个大厅重叠的活动](/solution/2400-2499/2494.Merge%20Overlapping%20Events%20in%20the%20Same%20Hall/README.md) | `数据库` | 困难 | 🔒 |
+| 2504 | [把名字和职业联系起来](/solution/2500-2599/2504.Concatenate%20the%20Name%20and%20the%20Profession/README.md) | `数据库` | 简单 | 🔒 |
+| 2668 | [查询员工当前薪水](/solution/2600-2699/2668.Find%20Latest%20Salaries/README.md) | `数据库` | 简单 | 🔒 |
+| 2669 | [统计 Spotify 排行榜上艺术家出现次数](/solution/2600-2699/2669.Count%20Artist%20Occurrences%20On%20Spotify%20Ranking%20List/README.md) | `数据库` | 简单 | 🔒 |
+| 2686 | [即时食物配送 III](/solution/2600-2699/2686.Immediate%20Food%20Delivery%20III/README.md) | `数据库` | 中等 | 🔒 |
+| 2687 | [自行车的最后使用时间](/solution/2600-2699/2687.Bikes%20Last%20Time%20Used/README.md) | `数据库` | 简单 | 🔒 |
+| 2688 | [查找活跃用户](/solution/2600-2699/2688.Find%20Active%20Users/README.md) | `数据库` | 中等 | 🔒 |
+| 2701 | [连续递增交易](/solution/2700-2799/2701.Consecutive%20Transactions%20with%20Increasing%20Amounts/README.md) | `数据库` | 困难 | 🔒 |
+| 2720 | [受欢迎度百分比](/solution/2700-2799/2720.Popularity%20Percentage/README.md) | `数据库` | 困难 | 🔒 |
+| 2738 | [统计文本中单词的出现次数](/solution/2700-2799/2738.Count%20Occurrences%20in%20Text/README.md) | `数据库` | 中等 | 🔒 |
+| 2752 | [在连续天数上进行了最多交易次数的顾客](/solution/2700-2799/2752.Customers%20with%20Maximum%20Number%20of%20Transactions%20on%20Consecutive%20Days/README.md) | `数据库` | 困难 | 🔒 |
+| 2783 | [航班入座率和等待名单分析](/solution/2700-2799/2783.Flight%20Occupancy%20and%20Waitlist%20Analysis/README.md) | `数据库` | 中等 | 🔒 |
+| 2793 | [航班机票状态](/solution/2700-2799/2793.Status%20of%20Flight%20Tickets/README.md) | | 困难 | 🔒 |
+| 2820 | [选举结果](/solution/2800-2899/2820.Election%20Results/README.md) | | 中等 | 🔒 |
+| 2837 | [总旅行距离](/solution/2800-2899/2837.Total%20Traveled%20Distance/README.md) | `数据库` | 简单 | 🔒 |
+| 2853 | [Highest Salaries Difference](/solution/2800-2899/2853.Highest%20Salaries%20Difference/README.md) | | 简单 | 🔒 |
+| 2854 | [Rolling Average Steps](/solution/2800-2899/2854.Rolling%20Average%20Steps/README.md) | | 中等 | 🔒 |
+
+## 版权
+
+著作权归 [GitHub 开源社区 Doocs](https://github.com/doocs) 所有,商业转载请联系 [@yanglbme](mailto:contact@yanglibin.info) 获得授权,非商业转载请注明出处。
diff --git a/solution/DATABASE_README_EN.md b/solution/DATABASE_README_EN.md
new file mode 100644
index 0000000000000..25c3f20b1fc13
--- /dev/null
+++ b/solution/DATABASE_README_EN.md
@@ -0,0 +1,249 @@
+# Database Practice
+
+[中文文档](/solution/DATABASE_README.md)
+
+## Solutions
+
+Press Control + F(or Command + F on the Mac) to search anything you want.
+
+| # | Solution | Tags | Difficulty | Remark |
+| ---- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- | ---------- | ------ |
+| 0175 | [Combine Two Tables](/solution/0100-0199/0175.Combine%20Two%20Tables/README_EN.md) | `Database` | Easy | |
+| 0176 | [Second Highest Salary](/solution/0100-0199/0176.Second%20Highest%20Salary/README_EN.md) | `Database` | Medium | |
+| 0177 | [Nth Highest Salary](/solution/0100-0199/0177.Nth%20Highest%20Salary/README_EN.md) | `Database` | Medium | |
+| 0178 | [Rank Scores](/solution/0100-0199/0178.Rank%20Scores/README_EN.md) | `Database` | Medium | |
+| 0180 | [Consecutive Numbers](/solution/0100-0199/0180.Consecutive%20Numbers/README_EN.md) | `Database` | Medium | |
+| 0181 | [Employees Earning More Than Their Managers](/solution/0100-0199/0181.Employees%20Earning%20More%20Than%20Their%20Managers/README_EN.md) | `Database` | Easy | |
+| 0182 | [Duplicate Emails](/solution/0100-0199/0182.Duplicate%20Emails/README_EN.md) | `Database` | Easy | |
+| 0183 | [Customers Who Never Order](/solution/0100-0199/0183.Customers%20Who%20Never%20Order/README_EN.md) | `Database` | Easy | |
+| 0184 | [Department Highest Salary](/solution/0100-0199/0184.Department%20Highest%20Salary/README_EN.md) | `Database` | Medium | |
+| 0185 | [Department Top Three Salaries](/solution/0100-0199/0185.Department%20Top%20Three%20Salaries/README_EN.md) | `Database` | Hard | |
+| 0196 | [Delete Duplicate Emails](/solution/0100-0199/0196.Delete%20Duplicate%20Emails/README_EN.md) | `Database` | Easy | |
+| 0197 | [Rising Temperature](/solution/0100-0199/0197.Rising%20Temperature/README_EN.md) | `Database` | Easy | |
+| 0262 | [Trips and Users](/solution/0200-0299/0262.Trips%20and%20Users/README_EN.md) | `Database` | Hard | |
+| 0511 | [Game Play Analysis I](/solution/0500-0599/0511.Game%20Play%20Analysis%20I/README_EN.md) | `Database` | Easy | |
+| 0512 | [Game Play Analysis II](/solution/0500-0599/0512.Game%20Play%20Analysis%20II/README_EN.md) | `Database` | Easy | 🔒 |
+| 0534 | [Game Play Analysis III](/solution/0500-0599/0534.Game%20Play%20Analysis%20III/README_EN.md) | `Database` | Medium | 🔒 |
+| 0550 | [Game Play Analysis IV](/solution/0500-0599/0550.Game%20Play%20Analysis%20IV/README_EN.md) | `Database` | Medium | |
+| 0569 | [Median Employee Salary](/solution/0500-0599/0569.Median%20Employee%20Salary/README_EN.md) | `Database` | Hard | 🔒 |
+| 0570 | [Managers with at Least 5 Direct Reports](/solution/0500-0599/0570.Managers%20with%20at%20Least%205%20Direct%20Reports/README_EN.md) | `Database` | Medium | |
+| 0571 | [Find Median Given Frequency of Numbers](/solution/0500-0599/0571.Find%20Median%20Given%20Frequency%20of%20Numbers/README_EN.md) | `Database` | Hard | 🔒 |
+| 0574 | [Winning Candidate](/solution/0500-0599/0574.Winning%20Candidate/README_EN.md) | `Database` | Medium | 🔒 |
+| 0577 | [Employee Bonus](/solution/0500-0599/0577.Employee%20Bonus/README_EN.md) | `Database` | Easy | |
+| 0578 | [Get Highest Answer Rate Question](/solution/0500-0599/0578.Get%20Highest%20Answer%20Rate%20Question/README_EN.md) | `Database` | Medium | 🔒 |
+| 0579 | [Find Cumulative Salary of an Employee](/solution/0500-0599/0579.Find%20Cumulative%20Salary%20of%20an%20Employee/README_EN.md) | `Database` | Hard | 🔒 |
+| 0580 | [Count Student Number in Departments](/solution/0500-0599/0580.Count%20Student%20Number%20in%20Departments/README_EN.md) | `Database` | Medium | 🔒 |
+| 0584 | [Find Customer Referee](/solution/0500-0599/0584.Find%20Customer%20Referee/README_EN.md) | `Database` | Easy | |
+| 0585 | [Investments in 2016](/solution/0500-0599/0585.Investments%20in%202016/README_EN.md) | `Database` | Medium | |
+| 0586 | [Customer Placing the Largest Number of Orders](/solution/0500-0599/0586.Customer%20Placing%20the%20Largest%20Number%20of%20Orders/README_EN.md) | `Database` | Easy | |
+| 0595 | [Big Countries](/solution/0500-0599/0595.Big%20Countries/README_EN.md) | `Database` | Easy | |
+| 0596 | [Classes More Than 5 Students](/solution/0500-0599/0596.Classes%20More%20Than%205%20Students/README_EN.md) | `Database` | Easy | |
+| 0597 | [Friend Requests I Overall Acceptance Rate](/solution/0500-0599/0597.Friend%20Requests%20I%20Overall%20Acceptance%20Rate/README_EN.md) | `Database` | Easy | 🔒 |
+| 0601 | [Human Traffic of Stadium](/solution/0600-0699/0601.Human%20Traffic%20of%20Stadium/README_EN.md) | `Database` | Hard | |
+| 0602 | [Friend Requests II Who Has the Most Friends](/solution/0600-0699/0602.Friend%20Requests%20II%20Who%20Has%20the%20Most%20Friends/README_EN.md) | `Database` | Medium | |
+| 0603 | [Consecutive Available Seats](/solution/0600-0699/0603.Consecutive%20Available%20Seats/README_EN.md) | `Database` | Easy | 🔒 |
+| 0607 | [Sales Person](/solution/0600-0699/0607.Sales%20Person/README_EN.md) | `Database` | Easy | |
+| 0608 | [Tree Node](/solution/0600-0699/0608.Tree%20Node/README_EN.md) | `Database` | Medium | |
+| 0610 | [Triangle Judgement](/solution/0600-0699/0610.Triangle%20Judgement/README_EN.md) | `Database` | Easy | |
+| 0612 | [Shortest Distance in a Plane](/solution/0600-0699/0612.Shortest%20Distance%20in%20a%20Plane/README_EN.md) | `Database` | Medium | 🔒 |
+| 0613 | [Shortest Distance in a Line](/solution/0600-0699/0613.Shortest%20Distance%20in%20a%20Line/README_EN.md) | `Database` | Easy | 🔒 |
+| 0614 | [Second Degree Follower](/solution/0600-0699/0614.Second%20Degree%20Follower/README_EN.md) | `Database` | Medium | 🔒 |
+| 0615 | [Average Salary Departments VS Company](/solution/0600-0699/0615.Average%20Salary%20Departments%20VS%20Company/README_EN.md) | `Database` | Hard | 🔒 |
+| 0618 | [Students Report By Geography](/solution/0600-0699/0618.Students%20Report%20By%20Geography/README_EN.md) | `Database` | Hard | 🔒 |
+| 0619 | [Biggest Single Number](/solution/0600-0699/0619.Biggest%20Single%20Number/README_EN.md) | `Database` | Easy | |
+| 0620 | [Not Boring Movies](/solution/0600-0699/0620.Not%20Boring%20Movies/README_EN.md) | `Database` | Easy | |
+| 0626 | [Exchange Seats](/solution/0600-0699/0626.Exchange%20Seats/README_EN.md) | `Database` | Medium | |
+| 0627 | [Swap Salary](/solution/0600-0699/0627.Swap%20Salary/README_EN.md) | `Database` | Easy | |
+| 1045 | [Customers Who Bought All Products](/solution/1000-1099/1045.Customers%20Who%20Bought%20All%20Products/README_EN.md) | `Database` | Medium | |
+| 1050 | [Actors and Directors Who Cooperated At Least Three Times](/solution/1000-1099/1050.Actors%20and%20Directors%20Who%20Cooperated%20At%20Least%20Three%20Times/README_EN.md) | `Database` | Easy | |
+| 1068 | [Product Sales Analysis I](/solution/1000-1099/1068.Product%20Sales%20Analysis%20I/README_EN.md) | `Database` | Easy | |
+| 1069 | [Product Sales Analysis II](/solution/1000-1099/1069.Product%20Sales%20Analysis%20II/README_EN.md) | `Database` | Easy | 🔒 |
+| 1070 | [Product Sales Analysis III](/solution/1000-1099/1070.Product%20Sales%20Analysis%20III/README_EN.md) | `Database` | Medium | |
+| 1075 | [Project Employees I](/solution/1000-1099/1075.Project%20Employees%20I/README_EN.md) | `Database` | Easy | |
+| 1076 | [Project Employees II](/solution/1000-1099/1076.Project%20Employees%20II/README_EN.md) | `Database` | Easy | 🔒 |
+| 1077 | [Project Employees III](/solution/1000-1099/1077.Project%20Employees%20III/README_EN.md) | `Database` | Medium | 🔒 |
+| 1082 | [Sales Analysis I](/solution/1000-1099/1082.Sales%20Analysis%20I/README_EN.md) | `Database` | Easy | 🔒 |
+| 1083 | [Sales Analysis II](/solution/1000-1099/1083.Sales%20Analysis%20II/README_EN.md) | `Database` | Easy | 🔒 |
+| 1084 | [Sales Analysis III](/solution/1000-1099/1084.Sales%20Analysis%20III/README_EN.md) | `Database` | Easy | |
+| 1097 | [Game Play Analysis V](/solution/1000-1099/1097.Game%20Play%20Analysis%20V/README_EN.md) | `Database` | Hard | 🔒 |
+| 1098 | [Unpopular Books](/solution/1000-1099/1098.Unpopular%20Books/README_EN.md) | `Database` | Medium | 🔒 |
+| 1107 | [New Users Daily Count](/solution/1100-1199/1107.New%20Users%20Daily%20Count/README_EN.md) | `Database` | Medium | 🔒 |
+| 1112 | [Highest Grade For Each Student](/solution/1100-1199/1112.Highest%20Grade%20For%20Each%20Student/README_EN.md) | `Database` | Medium | 🔒 |
+| 1113 | [Reported Posts](/solution/1100-1199/1113.Reported%20Posts/README_EN.md) | `Database` | Easy | 🔒 |
+| 1126 | [Active Businesses](/solution/1100-1199/1126.Active%20Businesses/README_EN.md) | `Database` | Medium | 🔒 |
+| 1127 | [User Purchase Platform](/solution/1100-1199/1127.User%20Purchase%20Platform/README_EN.md) | `Database` | Hard | 🔒 |
+| 1132 | [Reported Posts II](/solution/1100-1199/1132.Reported%20Posts%20II/README_EN.md) | `Database` | Medium | 🔒 |
+| 1141 | [User Activity for the Past 30 Days I](/solution/1100-1199/1141.User%20Activity%20for%20the%20Past%2030%20Days%20I/README_EN.md) | `Database` | Easy | |
+| 1142 | [User Activity for the Past 30 Days II](/solution/1100-1199/1142.User%20Activity%20for%20the%20Past%2030%20Days%20II/README_EN.md) | `Database` | Easy | 🔒 |
+| 1148 | [Article Views I](/solution/1100-1199/1148.Article%20Views%20I/README_EN.md) | `Database` | Easy | |
+| 1149 | [Article Views II](/solution/1100-1199/1149.Article%20Views%20II/README_EN.md) | `Database` | Medium | 🔒 |
+| 1158 | [Market Analysis I](/solution/1100-1199/1158.Market%20Analysis%20I/README_EN.md) | `Database` | Medium | |
+| 1159 | [Market Analysis II](/solution/1100-1199/1159.Market%20Analysis%20II/README_EN.md) | `Database` | Hard | 🔒 |
+| 1164 | [Product Price at a Given Date](/solution/1100-1199/1164.Product%20Price%20at%20a%20Given%20Date/README_EN.md) | `Database` | Medium | |
+| 1173 | [Immediate Food Delivery I](/solution/1100-1199/1173.Immediate%20Food%20Delivery%20I/README_EN.md) | `Database` | Easy | 🔒 |
+| 1174 | [Immediate Food Delivery II](/solution/1100-1199/1174.Immediate%20Food%20Delivery%20II/README_EN.md) | `Database` | Medium | |
+| 1179 | [Reformat Department Table](/solution/1100-1199/1179.Reformat%20Department%20Table/README_EN.md) | `Database` | Easy | |
+| 1193 | [Monthly Transactions I](/solution/1100-1199/1193.Monthly%20Transactions%20I/README_EN.md) | `Database` | Medium | |
+| 1194 | [Tournament Winners](/solution/1100-1199/1194.Tournament%20Winners/README_EN.md) | `Database` | Hard | 🔒 |
+| 1204 | [Last Person to Fit in the Bus](/solution/1200-1299/1204.Last%20Person%20to%20Fit%20in%20the%20Bus/README_EN.md) | `Database` | Medium | |
+| 1205 | [Monthly Transactions II](/solution/1200-1299/1205.Monthly%20Transactions%20II/README_EN.md) | `Database` | Medium | 🔒 |
+| 1211 | [Queries Quality and Percentage](/solution/1200-1299/1211.Queries%20Quality%20and%20Percentage/README_EN.md) | `Database` | Easy | |
+| 1212 | [Team Scores in Football Tournament](/solution/1200-1299/1212.Team%20Scores%20in%20Football%20Tournament/README_EN.md) | `Database` | Medium | 🔒 |
+| 1225 | [Report Contiguous Dates](/solution/1200-1299/1225.Report%20Contiguous%20Dates/README_EN.md) | `Database` | Hard | 🔒 |
+| 1241 | [Number of Comments per Post](/solution/1200-1299/1241.Number%20of%20Comments%20per%20Post/README_EN.md) | `Database` | Easy | 🔒 |
+| 1251 | [Average Selling Price](/solution/1200-1299/1251.Average%20Selling%20Price/README_EN.md) | `Database` | Easy | |
+| 1264 | [Page Recommendations](/solution/1200-1299/1264.Page%20Recommendations/README_EN.md) | `Database` | Medium | 🔒 |
+| 1270 | [All People Report to the Given Manager](/solution/1200-1299/1270.All%20People%20Report%20to%20the%20Given%20Manager/README_EN.md) | `Database` | Medium | 🔒 |
+| 1280 | [Students and Examinations](/solution/1200-1299/1280.Students%20and%20Examinations/README_EN.md) | `Database` | Easy | |
+| 1285 | [Find the Start and End Number of Continuous Ranges](/solution/1200-1299/1285.Find%20the%20Start%20and%20End%20Number%20of%20Continuous%20Ranges/README_EN.md) | `Database` | Medium | 🔒 |
+| 1294 | [Weather Type in Each Country](/solution/1200-1299/1294.Weather%20Type%20in%20Each%20Country/README_EN.md) | `Database` | Easy | 🔒 |
+| 1303 | [Find the Team Size](/solution/1300-1399/1303.Find%20the%20Team%20Size/README_EN.md) | `Database` | Easy | 🔒 |
+| 1308 | [Running Total for Different Genders](/solution/1300-1399/1308.Running%20Total%20for%20Different%20Genders/README_EN.md) | `Database` | Medium | 🔒 |
+| 1321 | [Restaurant Growth](/solution/1300-1399/1321.Restaurant%20Growth/README_EN.md) | `Database` | Medium | |
+| 1322 | [Ads Performance](/solution/1300-1399/1322.Ads%20Performance/README_EN.md) | `Database` | Easy | 🔒 |
+| 1327 | [List the Products Ordered in a Period](/solution/1300-1399/1327.List%20the%20Products%20Ordered%20in%20a%20Period/README_EN.md) | `Database` | Easy | |
+| 1336 | [Number of Transactions per Visit](/solution/1300-1399/1336.Number%20of%20Transactions%20per%20Visit/README_EN.md) | `Database` | Hard | 🔒 |
+| 1341 | [Movie Rating](/solution/1300-1399/1341.Movie%20Rating/README_EN.md) | `Database` | Medium | |
+| 1350 | [Students With Invalid Departments](/solution/1300-1399/1350.Students%20With%20Invalid%20Departments/README_EN.md) | `Database` | Easy | 🔒 |
+| 1355 | [Activity Participants](/solution/1300-1399/1355.Activity%20Participants/README_EN.md) | `Database` | Medium | 🔒 |
+| 1364 | [Number of Trusted Contacts of a Customer](/solution/1300-1399/1364.Number%20of%20Trusted%20Contacts%20of%20a%20Customer/README_EN.md) | `Database` | Medium | 🔒 |
+| 1369 | [Get the Second Most Recent Activity](/solution/1300-1399/1369.Get%20the%20Second%20Most%20Recent%20Activity/README_EN.md) | `Database` | Hard | 🔒 |
+| 1378 | [Replace Employee ID With The Unique Identifier](/solution/1300-1399/1378.Replace%20Employee%20ID%20With%20The%20Unique%20Identifier/README_EN.md) | `Database` | Easy | |
+| 1384 | [Total Sales Amount by Year](/solution/1300-1399/1384.Total%20Sales%20Amount%20by%20Year/README_EN.md) | `Database` | Hard | 🔒 |
+| 1393 | [Capital GainLoss](/solution/1300-1399/1393.Capital%20GainLoss/README_EN.md) | `Database` | Medium | |
+| 1398 | [Customers Who Bought Products A and B but Not C](/solution/1300-1399/1398.Customers%20Who%20Bought%20Products%20A%20and%20B%20but%20Not%20C/README_EN.md) | `Database` | Medium | 🔒 |
+| 1407 | [Top Travellers](/solution/1400-1499/1407.Top%20Travellers/README_EN.md) | `Database` | Easy | |
+| 1412 | [Find the Quiet Students in All Exams](/solution/1400-1499/1412.Find%20the%20Quiet%20Students%20in%20All%20Exams/README_EN.md) | `Database` | Hard | 🔒 |
+| 1421 | [NPV Queries](/solution/1400-1499/1421.NPV%20Queries/README_EN.md) | `Database` | Easy | 🔒 |
+| 1435 | [Create a Session Bar Chart](/solution/1400-1499/1435.Create%20a%20Session%20Bar%20Chart/README_EN.md) | `Database` | Easy | 🔒 |
+| 1440 | [Evaluate Boolean Expression](/solution/1400-1499/1440.Evaluate%20Boolean%20Expression/README_EN.md) | `Database` | Medium | 🔒 |
+| 1445 | [Apples & Oranges](/solution/1400-1499/1445.Apples%20%26%20Oranges/README_EN.md) | `Database` | Medium | 🔒 |
+| 1454 | [Active Users](/solution/1400-1499/1454.Active%20Users/README_EN.md) | `Database` | Medium | 🔒 |
+| 1459 | [Rectangles Area](/solution/1400-1499/1459.Rectangles%20Area/README_EN.md) | `Database` | Medium | 🔒 |
+| 1468 | [Calculate Salaries](/solution/1400-1499/1468.Calculate%20Salaries/README_EN.md) | `Database` | Medium | 🔒 |
+| 1479 | [Sales by Day of the Week](/solution/1400-1499/1479.Sales%20by%20Day%20of%20the%20Week/README_EN.md) | `Database` | Hard | 🔒 |
+| 1484 | [Group Sold Products By The Date](/solution/1400-1499/1484.Group%20Sold%20Products%20By%20The%20Date/README_EN.md) | `Database` | Easy | |
+| 1495 | [Friendly Movies Streamed Last Month](/solution/1400-1499/1495.Friendly%20Movies%20Streamed%20Last%20Month/README_EN.md) | `Database` | Easy | 🔒 |
+| 1501 | [Countries You Can Safely Invest In](/solution/1500-1599/1501.Countries%20You%20Can%20Safely%20Invest%20In/README_EN.md) | `Database` | Medium | 🔒 |
+| 1511 | [Customer Order Frequency](/solution/1500-1599/1511.Customer%20Order%20Frequency/README_EN.md) | `Database` | Easy | 🔒 |
+| 1517 | [Find Users With Valid E-Mails](/solution/1500-1599/1517.Find%20Users%20With%20Valid%20E-Mails/README_EN.md) | `Database` | Easy | |
+| 1527 | [Patients With a Condition](/solution/1500-1599/1527.Patients%20With%20a%20Condition/README_EN.md) | `Database` | Easy | |
+| 1532 | [The Most Recent Three Orders](/solution/1500-1599/1532.The%20Most%20Recent%20Three%20Orders/README_EN.md) | `Database` | Medium | 🔒 |
+| 1543 | [Fix Product Name Format](/solution/1500-1599/1543.Fix%20Product%20Name%20Format/README_EN.md) | `Database` | Easy | 🔒 |
+| 1549 | [The Most Recent Orders for Each Product](/solution/1500-1599/1549.The%20Most%20Recent%20Orders%20for%20Each%20Product/README_EN.md) | `Database` | Medium | 🔒 |
+| 1555 | [Bank Account Summary](/solution/1500-1599/1555.Bank%20Account%20Summary/README_EN.md) | `Database` | Medium | 🔒 |
+| 1565 | [Unique Orders and Customers Per Month](/solution/1500-1599/1565.Unique%20Orders%20and%20Customers%20Per%20Month/README_EN.md) | `Database` | Easy | 🔒 |
+| 1571 | [Warehouse Manager](/solution/1500-1599/1571.Warehouse%20Manager/README_EN.md) | `Database` | Easy | 🔒 |
+| 1581 | [Customer Who Visited but Did Not Make Any Transactions](/solution/1500-1599/1581.Customer%20Who%20Visited%20but%20Did%20Not%20Make%20Any%20Transactions/README_EN.md) | `Database` | Easy | |
+| 1587 | [Bank Account Summary II](/solution/1500-1599/1587.Bank%20Account%20Summary%20II/README_EN.md) | `Database` | Easy | |
+| 1596 | [The Most Frequently Ordered Products for Each Customer](/solution/1500-1599/1596.The%20Most%20Frequently%20Ordered%20Products%20for%20Each%20Customer/README_EN.md) | `Database` | Medium | 🔒 |
+| 1607 | [Sellers With No Sales](/solution/1600-1699/1607.Sellers%20With%20No%20Sales/README_EN.md) | `Database` | Easy | 🔒 |
+| 1613 | [Find the Missing IDs](/solution/1600-1699/1613.Find%20the%20Missing%20IDs/README_EN.md) | `Database` | Medium | 🔒 |
+| 1623 | [All Valid Triplets That Can Represent a Country](/solution/1600-1699/1623.All%20Valid%20Triplets%20That%20Can%20Represent%20a%20Country/README_EN.md) | `Database` | Easy | 🔒 |
+| 1633 | [Percentage of Users Attended a Contest](/solution/1600-1699/1633.Percentage%20of%20Users%20Attended%20a%20Contest/README_EN.md) | `Database` | Easy | |
+| 1635 | [Hopper Company Queries I](/solution/1600-1699/1635.Hopper%20Company%20Queries%20I/README_EN.md) | `Database` | Hard | 🔒 |
+| 1645 | [Hopper Company Queries II](/solution/1600-1699/1645.Hopper%20Company%20Queries%20II/README_EN.md) | `Database` | Hard | 🔒 |
+| 1651 | [Hopper Company Queries III](/solution/1600-1699/1651.Hopper%20Company%20Queries%20III/README_EN.md) | `Database` | Hard | 🔒 |
+| 1661 | [Average Time of Process per Machine](/solution/1600-1699/1661.Average%20Time%20of%20Process%20per%20Machine/README_EN.md) | `Database` | Easy | |
+| 1667 | [Fix Names in a Table](/solution/1600-1699/1667.Fix%20Names%20in%20a%20Table/README_EN.md) | `Database` | Easy | |
+| 1677 | [Product's Worth Over Invoices](/solution/1600-1699/1677.Product%27s%20Worth%20Over%20Invoices/README_EN.md) | `Database` | Easy | 🔒 |
+| 1683 | [Invalid Tweets](/solution/1600-1699/1683.Invalid%20Tweets/README_EN.md) | `Database` | Easy | |
+| 1693 | [Daily Leads and Partners](/solution/1600-1699/1693.Daily%20Leads%20and%20Partners/README_EN.md) | `Database` | Easy | |
+| 1699 | [Number of Calls Between Two Persons](/solution/1600-1699/1699.Number%20of%20Calls%20Between%20Two%20Persons/README_EN.md) | `Database` | Medium | 🔒 |
+| 1709 | [Biggest Window Between Visits](/solution/1700-1799/1709.Biggest%20Window%20Between%20Visits/README_EN.md) | `Database` | Medium | 🔒 |
+| 1715 | [Count Apples and Oranges](/solution/1700-1799/1715.Count%20Apples%20and%20Oranges/README_EN.md) | `Database` | Medium | 🔒 |
+| 1729 | [Find Followers Count](/solution/1700-1799/1729.Find%20Followers%20Count/README_EN.md) | `Database` | Easy | |
+| 1731 | [The Number of Employees Which Report to Each Employee](/solution/1700-1799/1731.The%20Number%20of%20Employees%20Which%20Report%20to%20Each%20Employee/README_EN.md) | `Database` | Easy | |
+| 1741 | [Find Total Time Spent by Each Employee](/solution/1700-1799/1741.Find%20Total%20Time%20Spent%20by%20Each%20Employee/README_EN.md) | `Database` | Easy | |
+| 1747 | [Leetflex Banned Accounts](/solution/1700-1799/1747.Leetflex%20Banned%20Accounts/README_EN.md) | `Database` | Medium | 🔒 |
+| 1757 | [Recyclable and Low Fat Products](/solution/1700-1799/1757.Recyclable%20and%20Low%20Fat%20Products/README_EN.md) | `Database` | Easy | |
+| 1767 | [Find the Subtasks That Did Not Execute](/solution/1700-1799/1767.Find%20the%20Subtasks%20That%20Did%20Not%20Execute/README_EN.md) | `Database` | Hard | 🔒 |
+| 1777 | [Product's Price for Each Store](/solution/1700-1799/1777.Product%27s%20Price%20for%20Each%20Store/README_EN.md) | `Database` | Easy | 🔒 |
+| 1783 | [Grand Slam Titles](/solution/1700-1799/1783.Grand%20Slam%20Titles/README_EN.md) | `Database` | Medium | 🔒 |
+| 1789 | [Primary Department for Each Employee](/solution/1700-1799/1789.Primary%20Department%20for%20Each%20Employee/README_EN.md) | `Database` | Easy | |
+| 1795 | [Rearrange Products Table](/solution/1700-1799/1795.Rearrange%20Products%20Table/README_EN.md) | `Database` | Easy | |
+| 1809 | [Ad-Free Sessions](/solution/1800-1899/1809.Ad-Free%20Sessions/README_EN.md) | `Database` | Easy | 🔒 |
+| 1811 | [Find Interview Candidates](/solution/1800-1899/1811.Find%20Interview%20Candidates/README_EN.md) | `Database` | Medium | 🔒 |
+| 1821 | [Find Customers With Positive Revenue this Year](/solution/1800-1899/1821.Find%20Customers%20With%20Positive%20Revenue%20this%20Year/README_EN.md) | `Database` | Easy | 🔒 |
+| 1831 | [Maximum Transaction Each Day](/solution/1800-1899/1831.Maximum%20Transaction%20Each%20Day/README_EN.md) | `Database` | Medium | 🔒 |
+| 1841 | [League Statistics](/solution/1800-1899/1841.League%20Statistics/README_EN.md) | `Database` | Medium | 🔒 |
+| 1843 | [Suspicious Bank Accounts](/solution/1800-1899/1843.Suspicious%20Bank%20Accounts/README_EN.md) | `Database` | Medium | 🔒 |
+| 1853 | [Convert Date Format](/solution/1800-1899/1853.Convert%20Date%20Format/README_EN.md) | `Database` | Easy | 🔒 |
+| 1867 | [Orders With Maximum Quantity Above Average](/solution/1800-1899/1867.Orders%20With%20Maximum%20Quantity%20Above%20Average/README_EN.md) | `Database` | Medium | 🔒 |
+| 1873 | [Calculate Special Bonus](/solution/1800-1899/1873.Calculate%20Special%20Bonus/README_EN.md) | `Database` | Easy | |
+| 1875 | [Group Employees of the Same Salary](/solution/1800-1899/1875.Group%20Employees%20of%20the%20Same%20Salary/README_EN.md) | `Database` | Medium | 🔒 |
+| 1890 | [The Latest Login in 2020](/solution/1800-1899/1890.The%20Latest%20Login%20in%202020/README_EN.md) | `Database` | Easy | |
+| 1892 | [Page Recommendations II](/solution/1800-1899/1892.Page%20Recommendations%20II/README_EN.md) | `Database` | Hard | 🔒 |
+| 1907 | [Count Salary Categories](/solution/1900-1999/1907.Count%20Salary%20Categories/README_EN.md) | `Database` | Medium | |
+| 1917 | [Leetcodify Friends Recommendations](/solution/1900-1999/1917.Leetcodify%20Friends%20Recommendations/README_EN.md) | `Database` | Hard | 🔒 |
+| 1919 | [Leetcodify Similar Friends](/solution/1900-1999/1919.Leetcodify%20Similar%20Friends/README_EN.md) | `Database` | Hard | 🔒 |
+| 1934 | [Confirmation Rate](/solution/1900-1999/1934.Confirmation%20Rate/README_EN.md) | `Database` | Medium | |
+| 1939 | [Users That Actively Request Confirmation Messages](/solution/1900-1999/1939.Users%20That%20Actively%20Request%20Confirmation%20Messages/README_EN.md) | `Database` | Easy | 🔒 |
+| 1949 | [Strong Friendship](/solution/1900-1999/1949.Strong%20Friendship/README_EN.md) | `Database` | Medium | 🔒 |
+| 1951 | [All the Pairs With the Maximum Number of Common Followers](/solution/1900-1999/1951.All%20the%20Pairs%20With%20the%20Maximum%20Number%20of%20Common%20Followers/README_EN.md) | `Database` | Medium | 🔒 |
+| 1965 | [Employees With Missing Information](/solution/1900-1999/1965.Employees%20With%20Missing%20Information/README_EN.md) | `Database` | Easy | |
+| 1972 | [First and Last Call On the Same Day](/solution/1900-1999/1972.First%20and%20Last%20Call%20On%20the%20Same%20Day/README_EN.md) | `Database` | Hard | 🔒 |
+| 1978 | [Employees Whose Manager Left the Company](/solution/1900-1999/1978.Employees%20Whose%20Manager%20Left%20the%20Company/README_EN.md) | `Database` | Easy | |
+| 1988 | [Find Cutoff Score for Each School](/solution/1900-1999/1988.Find%20Cutoff%20Score%20for%20Each%20School/README_EN.md) | `Database` | Medium | 🔒 |
+| 1990 | [Count the Number of Experiments](/solution/1900-1999/1990.Count%20the%20Number%20of%20Experiments/README_EN.md) | `Database` | Medium | 🔒 |
+| 2004 | [The Number of Seniors and Juniors to Join the Company](/solution/2000-2099/2004.The%20Number%20of%20Seniors%20and%20Juniors%20to%20Join%20the%20Company/README_EN.md) | `Database` | Hard | 🔒 |
+| 2010 | [The Number of Seniors and Juniors to Join the Company II](/solution/2000-2099/2010.The%20Number%20of%20Seniors%20and%20Juniors%20to%20Join%20the%20Company%20II/README_EN.md) | `Database` | Hard | 🔒 |
+| 2020 | [Number of Accounts That Did Not Stream](/solution/2000-2099/2020.Number%20of%20Accounts%20That%20Did%20Not%20Stream/README_EN.md) | `Database` | Medium | 🔒 |
+| 2026 | [Low-Quality Problems](/solution/2000-2099/2026.Low-Quality%20Problems/README_EN.md) | `Database` | Easy | 🔒 |
+| 2041 | [Accepted Candidates From the Interviews](/solution/2000-2099/2041.Accepted%20Candidates%20From%20the%20Interviews/README_EN.md) | `Database` | Medium | 🔒 |
+| 2051 | [The Category of Each Member in the Store](/solution/2000-2099/2051.The%20Category%20of%20Each%20Member%20in%20the%20Store/README_EN.md) | `Database` | Medium | 🔒 |
+| 2066 | [Account Balance](/solution/2000-2099/2066.Account%20Balance/README_EN.md) | `Database` | Medium | 🔒 |
+| 2072 | [The Winner University](/solution/2000-2099/2072.The%20Winner%20University/README_EN.md) | `Database` | Easy | 🔒 |
+| 2082 | [The Number of Rich Customers](/solution/2000-2099/2082.The%20Number%20of%20Rich%20Customers/README_EN.md) | `Database` | Easy | 🔒 |
+| 2084 | [Drop Type 1 Orders for Customers With Type 0 Orders](/solution/2000-2099/2084.Drop%20Type%201%20Orders%20for%20Customers%20With%20Type%200%20Orders/README_EN.md) | `Database` | Medium | 🔒 |
+| 2112 | [The Airport With the Most Traffic](/solution/2100-2199/2112.The%20Airport%20With%20the%20Most%20Traffic/README_EN.md) | `Database` | Medium | 🔒 |
+| 2118 | [Build the Equation](/solution/2100-2199/2118.Build%20the%20Equation/README_EN.md) | `Database` | Hard | 🔒 |
+| 2142 | [The Number of Passengers in Each Bus I](/solution/2100-2199/2142.The%20Number%20of%20Passengers%20in%20Each%20Bus%20I/README_EN.md) | `Database` | Medium | 🔒 |
+| 2153 | [The Number of Passengers in Each Bus II](/solution/2100-2199/2153.The%20Number%20of%20Passengers%20in%20Each%20Bus%20II/README_EN.md) | `Database` | Hard | 🔒 |
+| 2159 | [Order Two Columns Independently](/solution/2100-2199/2159.Order%20Two%20Columns%20Independently/README_EN.md) | `Database` | Medium | 🔒 |
+| 2173 | [Longest Winning Streak](/solution/2100-2199/2173.Longest%20Winning%20Streak/README_EN.md) | `Database` | Hard | 🔒 |
+| 2175 | [The Change in Global Rankings](/solution/2100-2199/2175.The%20Change%20in%20Global%20Rankings/README_EN.md) | `Database` | Medium | 🔒 |
+| 2199 | [Finding the Topic of Each Post](/solution/2100-2199/2199.Finding%20the%20Topic%20of%20Each%20Post/README_EN.md) | `Database` | Hard | 🔒 |
+| 2205 | [The Number of Users That Are Eligible for Discount](/solution/2200-2299/2205.The%20Number%20of%20Users%20That%20Are%20Eligible%20for%20Discount/README_EN.md) | `Database` | Easy | 🔒 |
+| 2228 | [Users With Two Purchases Within Seven Days](/solution/2200-2299/2228.Users%20With%20Two%20Purchases%20Within%20Seven%20Days/README_EN.md) | `Database` | Medium | 🔒 |
+| 2230 | [The Users That Are Eligible for Discount](/solution/2200-2299/2230.The%20Users%20That%20Are%20Eligible%20for%20Discount/README_EN.md) | `Database` | Easy | 🔒 |
+| 2238 | [Number of Times a Driver Was a Passenger](/solution/2200-2299/2238.Number%20of%20Times%20a%20Driver%20Was%20a%20Passenger/README_EN.md) | `Database` | Medium | 🔒 |
+| 2252 | [Dynamic Pivoting of a Table](/solution/2200-2299/2252.Dynamic%20Pivoting%20of%20a%20Table/README_EN.md) | `Database` | Hard | 🔒 |
+| 2253 | [Dynamic Unpivoting of a Table](/solution/2200-2299/2253.Dynamic%20Unpivoting%20of%20a%20Table/README_EN.md) | `Database` | Hard | 🔒 |
+| 2292 | [Products With Three or More Orders in Two Consecutive Years](/solution/2200-2299/2292.Products%20With%20Three%20or%20More%20Orders%20in%20Two%20Consecutive%20Years/README_EN.md) | `Database` | Medium | 🔒 |
+| 2298 | [Tasks Count in the Weekend](/solution/2200-2299/2298.Tasks%20Count%20in%20the%20Weekend/README_EN.md) | `Database` | Medium | 🔒 |
+| 2308 | [Arrange Table by Gender](/solution/2300-2399/2308.Arrange%20Table%20by%20Gender/README_EN.md) | `Database` | Medium | 🔒 |
+| 2314 | [The First Day of the Maximum Recorded Degree in Each City](/solution/2300-2399/2314.The%20First%20Day%20of%20the%20Maximum%20Recorded%20Degree%20in%20Each%20City/README_EN.md) | `Database` | Medium | 🔒 |
+| 2324 | [Product Sales Analysis IV](/solution/2300-2399/2324.Product%20Sales%20Analysis%20IV/README_EN.md) | `Database` | Medium | 🔒 |
+| 2329 | [Product Sales Analysis V](/solution/2300-2399/2329.Product%20Sales%20Analysis%20V/README_EN.md) | `Database` | Easy | 🔒 |
+| 2339 | [All the Matches of the League](/solution/2300-2399/2339.All%20the%20Matches%20of%20the%20League/README_EN.md) | `Database` | Easy | 🔒 |
+| 2346 | [Compute the Rank as a Percentage](/solution/2300-2399/2346.Compute%20the%20Rank%20as%20a%20Percentage/README_EN.md) | `Database` | Medium | 🔒 |
+| 2356 | [Number of Unique Subjects Taught by Each Teacher](/solution/2300-2399/2356.Number%20of%20Unique%20Subjects%20Taught%20by%20Each%20Teacher/README_EN.md) | `Database` | Easy | |
+| 2362 | [Generate the Invoice](/solution/2300-2399/2362.Generate%20the%20Invoice/README_EN.md) | `Database` | Hard | 🔒 |
+| 2372 | [Calculate the Influence of Each Salesperson](/solution/2300-2399/2372.Calculate%20the%20Influence%20of%20Each%20Salesperson/README_EN.md) | `Database` | Medium | 🔒 |
+| 2377 | [Sort the Olympic Table](/solution/2300-2399/2377.Sort%20the%20Olympic%20Table/README_EN.md) | `Database` | Easy | 🔒 |
+| 2388 | [Change Null Values in a Table to the Previous Value](/solution/2300-2399/2388.Change%20Null%20Values%20in%20a%20Table%20to%20the%20Previous%20Value/README_EN.md) | `Database` | Medium | 🔒 |
+| 2394 | [Employees With Deductions](/solution/2300-2399/2394.Employees%20With%20Deductions/README_EN.md) | `Database` | Medium | 🔒 |
+| 2474 | [Customers With Strictly Increasing Purchases](/solution/2400-2499/2474.Customers%20With%20Strictly%20Increasing%20Purchases/README_EN.md) | `Database` | Hard | 🔒 |
+| 2480 | [Form a Chemical Bond](/solution/2400-2499/2480.Form%20a%20Chemical%20Bond/README_EN.md) | `Database` | Easy | 🔒 |
+| 2494 | [Merge Overlapping Events in the Same Hall](/solution/2400-2499/2494.Merge%20Overlapping%20Events%20in%20the%20Same%20Hall/README_EN.md) | `Database` | Hard | 🔒 |
+| 2504 | [Concatenate the Name and the Profession](/solution/2500-2599/2504.Concatenate%20the%20Name%20and%20the%20Profession/README_EN.md) | `Database` | Easy | 🔒 |
+| 2668 | [Find Latest Salaries](/solution/2600-2699/2668.Find%20Latest%20Salaries/README_EN.md) | `Database` | Easy | 🔒 |
+| 2669 | [Count Artist Occurrences On Spotify Ranking List](/solution/2600-2699/2669.Count%20Artist%20Occurrences%20On%20Spotify%20Ranking%20List/README_EN.md) | `Database` | Easy | 🔒 |
+| 2686 | [Immediate Food Delivery III](/solution/2600-2699/2686.Immediate%20Food%20Delivery%20III/README_EN.md) | `Database` | Medium | 🔒 |
+| 2687 | [Bikes Last Time Used](/solution/2600-2699/2687.Bikes%20Last%20Time%20Used/README_EN.md) | `Database` | Easy | 🔒 |
+| 2688 | [Find Active Users](/solution/2600-2699/2688.Find%20Active%20Users/README_EN.md) | `Database` | Medium | 🔒 |
+| 2701 | [Consecutive Transactions with Increasing Amounts](/solution/2700-2799/2701.Consecutive%20Transactions%20with%20Increasing%20Amounts/README_EN.md) | `Database` | Hard | 🔒 |
+| 2720 | [Popularity Percentage](/solution/2700-2799/2720.Popularity%20Percentage/README_EN.md) | `Database` | Hard | 🔒 |
+| 2738 | [Count Occurrences in Text](/solution/2700-2799/2738.Count%20Occurrences%20in%20Text/README_EN.md) | `Database` | Medium | 🔒 |
+| 2752 | [Customers with Maximum Number of Transactions on Consecutive Days](/solution/2700-2799/2752.Customers%20with%20Maximum%20Number%20of%20Transactions%20on%20Consecutive%20Days/README_EN.md) | `Database` | Hard | 🔒 |
+| 2783 | [Flight Occupancy and Waitlist Analysis](/solution/2700-2799/2783.Flight%20Occupancy%20and%20Waitlist%20Analysis/README_EN.md) | `Database` | Medium | 🔒 |
+| 2793 | [Status of Flight Tickets](/solution/2700-2799/2793.Status%20of%20Flight%20Tickets/README_EN.md) | | Hard | 🔒 |
+| 2820 | [Election Results](/solution/2800-2899/2820.Election%20Results/README_EN.md) | | Medium | 🔒 |
+| 2837 | [Total Traveled Distance](/solution/2800-2899/2837.Total%20Traveled%20Distance/README_EN.md) | `Database` | Easy | 🔒 |
+| 2853 | [Highest Salaries Difference](/solution/2800-2899/2853.Highest%20Salaries%20Difference/README_EN.md) | | Easy | 🔒 |
+| 2854 | [Rolling Average Steps](/solution/2800-2899/2854.Rolling%20Average%20Steps/README_EN.md) | | Medium | 🔒 |
+
+## Copyright
+
+[@Doocs](https://github.com/doocs)
diff --git a/solution/JAVASCRIPT_README.md b/solution/JAVASCRIPT_README.md
new file mode 100644
index 0000000000000..9cc66a240364e
--- /dev/null
+++ b/solution/JAVASCRIPT_README.md
@@ -0,0 +1,83 @@
+# JavaScript 专项练习
+
+[English Version](/solution/JAVASCRIPT_README_EN.md)
+
+## 题解
+
+列表所有题解均由 [开源社区 Doocs](https://github.com/doocs) 贡献者提供,正在完善中,欢迎贡献你的题解!
+
+快速搜索题号、题解、标签等,请善用 Control + F(或者 Command + F)。
+
+| 题号 | 题解 | 标签 | 难度 | 备注 |
+| ---- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ---- | ---- | ---- |
+| 2618 | [检查是否是类的对象实例](/solution/2600-2699/2618.Check%20if%20Object%20Instance%20of%20Class/README.md) | | 中等 | |
+| 2619 | [数组原型对象的最后一个元素](/solution/2600-2699/2619.Array%20Prototype%20Last/README.md) | | 简单 | |
+| 2620 | [计数器](/solution/2600-2699/2620.Counter/README.md) | | 简单 | |
+| 2621 | [睡眠函数](/solution/2600-2699/2621.Sleep/README.md) | | 简单 | |
+| 2622 | [有时间限制的缓存](/solution/2600-2699/2622.Cache%20With%20Time%20Limit/README.md) | | 中等 | |
+| 2623 | [记忆函数](/solution/2600-2699/2623.Memoize/README.md) | | 中等 | |
+| 2624 | [蜗牛排序](/solution/2600-2699/2624.Snail%20Traversal/README.md) | | 中等 | |
+| 2625 | [扁平化嵌套数组](/solution/2600-2699/2625.Flatten%20Deeply%20Nested%20Array/README.md) | | 中等 | |
+| 2626 | [数组归约运算](/solution/2600-2699/2626.Array%20Reduce%20Transformation/README.md) | | 简单 | |
+| 2627 | [函数防抖](/solution/2600-2699/2627.Debounce/README.md) | | 中等 | |
+| 2628 | [完全相等的 JSON 字符串](/solution/2600-2699/2628.JSON%20Deep%20Equal/README.md) | | 中等 | 🔒 |
+| 2629 | [复合函数](/solution/2600-2699/2629.Function%20Composition/README.md) | | 简单 | |
+| 2630 | [记忆函数 II](/solution/2600-2699/2630.Memoize%20II/README.md) | | 困难 | |
+| 2631 | [分组](/solution/2600-2699/2631.Group%20By/README.md) | | 中等 | |
+| 2632 | [柯里化](/solution/2600-2699/2632.Curry/README.md) | | 中等 | 🔒 |
+| 2633 | [将对象转换为 JSON 字符串](/solution/2600-2699/2633.Convert%20Object%20to%20JSON%20String/README.md) | | 中等 | 🔒 |
+| 2634 | [过滤数组中的元素](/solution/2600-2699/2634.Filter%20Elements%20from%20Array/README.md) | | 简单 | |
+| 2635 | [转换数组中的每个元素](/solution/2600-2699/2635.Apply%20Transform%20Over%20Each%20Element%20in%20Array/README.md) | | 简单 | |
+| 2636 | [Promise 对象池](/solution/2600-2699/2636.Promise%20Pool/README.md) | | 中等 | 🔒 |
+| 2637 | [有时间限制的 Promise 对象](/solution/2600-2699/2637.Promise%20Time%20Limit/README.md) | | 中等 | |
+| 2648 | [生成斐波那契数列](/solution/2600-2699/2648.Generate%20Fibonacci%20Sequence/README.md) | | 简单 | |
+| 2649 | [嵌套数组生成器](/solution/2600-2699/2649.Nested%20Array%20Generator/README.md) | | 中等 | |
+| 2650 | [设计可取消函数](/solution/2600-2699/2650.Design%20Cancellable%20Function/README.md) | | 困难 | |
+| 2665 | [计数器 II](/solution/2600-2699/2665.Counter%20II/README.md) | | 简单 | |
+| 2666 | [只允许一次函数调用](/solution/2600-2699/2666.Allow%20One%20Function%20Call/README.md) | | 简单 | |
+| 2667 | [创建 Hello World 函数](/solution/2600-2699/2667.Create%20Hello%20World%20Function/README.md) | | 简单 | |
+| 2675 | [将对象数组转换为矩阵](/solution/2600-2699/2675.Array%20of%20Objects%20to%20Matrix/README.md) | | 中等 | 🔒 |
+| 2676 | [节流](/solution/2600-2699/2676.Throttle/README.md) | | 中等 | 🔒 |
+| 2677 | [分块数组](/solution/2600-2699/2677.Chunk%20Array/README.md) | | 简单 | |
+| 2690 | [无穷方法对象](/solution/2600-2699/2690.Infinite%20Method%20Object/README.md) | | 简单 | 🔒 |
+| 2691 | [不可变辅助工具](/solution/2600-2699/2691.Immutability%20Helper/README.md) | | 困难 | 🔒 |
+| 2692 | [使对象不可变](/solution/2600-2699/2692.Make%20Object%20Immutable/README.md) | | 中等 | 🔒 |
+| 2693 | [使用自定义上下文调用函数](/solution/2600-2699/2693.Call%20Function%20with%20Custom%20Context/README.md) | | 中等 | |
+| 2694 | [事件发射器](/solution/2600-2699/2694.Event%20Emitter/README.md) | | 中等 | |
+| 2695 | [包装数组](/solution/2600-2699/2695.Array%20Wrapper/README.md) | | 简单 | |
+| 2700 | [两个对象之间的差异](/solution/2700-2799/2700.Differences%20Between%20Two%20Objects/README.md) | | 中等 | 🔒 |
+| 2703 | [返回传递的参数的长度](/solution/2700-2799/2703.Return%20Length%20of%20Arguments%20Passed/README.md) | | 简单 | |
+| 2704 | [相等还是不相等](/solution/2700-2799/2704.To%20Be%20Or%20Not%20To%20Be/README.md) | | 简单 | |
+| 2705 | [精简对象](/solution/2700-2799/2705.Compact%20Object/README.md) | | 中等 | |
+| 2715 | [执行可取消的延迟函数](/solution/2700-2799/2715.Timeout%20Cancellation/README.md) | | 简单 | |
+| 2721 | [并行执行异步函数](/solution/2700-2799/2721.Execute%20Asynchronous%20Functions%20in%20Parallel/README.md) | | 中等 | |
+| 2722 | [根据 ID 合并两个数组](/solution/2700-2799/2722.Join%20Two%20Arrays%20by%20ID/README.md) | | 中等 | |
+| 2723 | [添加两个 Promise 对象](/solution/2700-2799/2723.Add%20Two%20Promises/README.md) | | 简单 | |
+| 2724 | [排序方式](/solution/2700-2799/2724.Sort%20By/README.md) | | 简单 | |
+| 2725 | [间隔取消](/solution/2700-2799/2725.Interval%20Cancellation/README.md) | | 简单 | |
+| 2726 | [使用方法链的计算器](/solution/2700-2799/2726.Calculator%20with%20Method%20Chaining/README.md) | | 简单 | |
+| 2727 | [判断对象是否为空](/solution/2700-2799/2727.Is%20Object%20Empty/README.md) | | 简单 | |
+| 2754 | [将函数绑定到上下文](/solution/2700-2799/2754.Bind%20Function%20to%20Context/README.md) | | 中等 | 🔒 |
+| 2755 | [深度合并两个对象](/solution/2700-2799/2755.Deep%20Merge%20of%20Two%20Objects/README.md) | | 中等 | 🔒 |
+| 2756 | [批处理查询](/solution/2700-2799/2756.Query%20Batching/README.md) | | 困难 | 🔒 |
+| 2757 | [生成循环数组的值](/solution/2700-2799/2757.Generate%20Circular%20Array%20Values/README.md) | | 中等 | 🔒 |
+| 2758 | [下一天](/solution/2700-2799/2758.Next%20Day/README.md) | | 简单 | 🔒 |
+| 2759 | [将 JSON 字符串转换为对象](/solution/2700-2799/2759.Convert%20JSON%20String%20to%20Object/README.md) | | 困难 | 🔒 |
+| 2774 | [数组的上界](/solution/2700-2799/2774.Array%20Upper%20Bound/README.md) | | 简单 | 🔒 |
+| 2775 | [将 undefined 转为 null](/solution/2700-2799/2775.Undefined%20to%20Null/README.md) | | 中等 | 🔒 |
+| 2776 | [转换回调函数为 Promise 函数](/solution/2700-2799/2776.Convert%20Callback%20Based%20Function%20to%20Promise%20Based%20Function/README.md) | | 中等 | 🔒 |
+| 2777 | [日期范围生成器](/solution/2700-2799/2777.Date%20Range%20Generator/README.md) | | 中等 | 🔒 |
+| 2794 | [从两个数组中创建对象](/solution/2700-2799/2794.Create%20Object%20from%20Two%20Arrays/README.md) | | 简单 | 🔒 |
+| 2795 | [并行执行 Promise 以获取独有的结果](/solution/2700-2799/2795.Parallel%20Execution%20of%20Promises%20for%20Individual%20Results%20Retrieval/README.md) | | 中等 | 🔒 |
+| 2796 | [重复字符串](/solution/2700-2799/2796.Repeat%20String/README.md) | | 简单 | 🔒 |
+| 2797 | [带有占位符的部分函数](/solution/2700-2799/2797.Partial%20Function%20with%20Placeholders/README.md) | | 中等 | 🔒 |
+| 2803 | [阶乘生成器](/solution/2800-2899/2803.Factorial%20Generator/README.md) | | 简单 | 🔒 |
+| 2804 | [数组原型的 forEach 方法](/solution/2800-2899/2804.Array%20Prototype%20ForEach/README.md) | | 简单 | 🔒 |
+| 2805 | [自定义间隔](/solution/2800-2899/2805.Custom%20Interval/README.md) | | 中等 | 🔒 |
+| 2821 | [延迟每个 Promise 对象的解析](/solution/2800-2899/2821.Delay%20the%20Resolution%20of%20Each%20Promise/README.md) | | 简单 | 🔒 |
+| 2822 | [对象反转](/solution/2800-2899/2822.Inversion%20of%20Object/README.md) | | 简单 | 🔒 |
+| 2823 | [深度对象筛选](/solution/2800-2899/2823.Deep%20Object%20Filter/README.md) | | 中等 | 🔒 |
+
+## 版权
+
+著作权归 [GitHub 开源社区 Doocs](https://github.com/doocs) 所有,商业转载请联系 [@yanglbme](mailto:contact@yanglibin.info) 获得授权,非商业转载请注明出处。
diff --git a/solution/JAVASCRIPT_README_EN.md b/solution/JAVASCRIPT_README_EN.md
new file mode 100644
index 0000000000000..9097f297157b7
--- /dev/null
+++ b/solution/JAVASCRIPT_README_EN.md
@@ -0,0 +1,81 @@
+# JavaScript Practice
+
+[中文文档](/solution/JAVASCRIPT_README.md)
+
+## Solutions
+
+Press Control + F(or Command + F on the Mac) to search anything you want.
+
+| # | Solution | Tags | Difficulty | Remark |
+| ---- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- | ---------- | ------ |
+| 2618 | [Check if Object Instance of Class](/solution/2600-2699/2618.Check%20if%20Object%20Instance%20of%20Class/README_EN.md) | | Medium | |
+| 2619 | [Array Prototype Last](/solution/2600-2699/2619.Array%20Prototype%20Last/README_EN.md) | | Easy | |
+| 2620 | [Counter](/solution/2600-2699/2620.Counter/README_EN.md) | | Easy | |
+| 2621 | [Sleep](/solution/2600-2699/2621.Sleep/README_EN.md) | | Easy | |
+| 2622 | [Cache With Time Limit](/solution/2600-2699/2622.Cache%20With%20Time%20Limit/README_EN.md) | | Medium | |
+| 2623 | [Memoize](/solution/2600-2699/2623.Memoize/README_EN.md) | | Medium | |
+| 2624 | [Snail Traversal](/solution/2600-2699/2624.Snail%20Traversal/README_EN.md) | | Medium | |
+| 2625 | [Flatten Deeply Nested Array](/solution/2600-2699/2625.Flatten%20Deeply%20Nested%20Array/README_EN.md) | | Medium | |
+| 2626 | [Array Reduce Transformation](/solution/2600-2699/2626.Array%20Reduce%20Transformation/README_EN.md) | | Easy | |
+| 2627 | [Debounce](/solution/2600-2699/2627.Debounce/README_EN.md) | | Medium | |
+| 2628 | [JSON Deep Equal](/solution/2600-2699/2628.JSON%20Deep%20Equal/README_EN.md) | | Medium | 🔒 |
+| 2629 | [Function Composition](/solution/2600-2699/2629.Function%20Composition/README_EN.md) | | Easy | |
+| 2630 | [Memoize II](/solution/2600-2699/2630.Memoize%20II/README_EN.md) | | Hard | |
+| 2631 | [Group By](/solution/2600-2699/2631.Group%20By/README_EN.md) | | Medium | |
+| 2632 | [Curry](/solution/2600-2699/2632.Curry/README_EN.md) | | Medium | 🔒 |
+| 2633 | [Convert Object to JSON String](/solution/2600-2699/2633.Convert%20Object%20to%20JSON%20String/README_EN.md) | | Medium | 🔒 |
+| 2634 | [Filter Elements from Array](/solution/2600-2699/2634.Filter%20Elements%20from%20Array/README_EN.md) | | Easy | |
+| 2635 | [Apply Transform Over Each Element in Array](/solution/2600-2699/2635.Apply%20Transform%20Over%20Each%20Element%20in%20Array/README_EN.md) | | Easy | |
+| 2636 | [Promise Pool](/solution/2600-2699/2636.Promise%20Pool/README_EN.md) | | Medium | 🔒 |
+| 2637 | [Promise Time Limit](/solution/2600-2699/2637.Promise%20Time%20Limit/README_EN.md) | | Medium | |
+| 2648 | [Generate Fibonacci Sequence](/solution/2600-2699/2648.Generate%20Fibonacci%20Sequence/README_EN.md) | | Easy | |
+| 2649 | [Nested Array Generator](/solution/2600-2699/2649.Nested%20Array%20Generator/README_EN.md) | | Medium | |
+| 2650 | [Design Cancellable Function](/solution/2600-2699/2650.Design%20Cancellable%20Function/README_EN.md) | | Hard | |
+| 2665 | [Counter II](/solution/2600-2699/2665.Counter%20II/README_EN.md) | | Easy | |
+| 2666 | [Allow One Function Call](/solution/2600-2699/2666.Allow%20One%20Function%20Call/README_EN.md) | | Easy | |
+| 2667 | [Create Hello World Function](/solution/2600-2699/2667.Create%20Hello%20World%20Function/README_EN.md) | | Easy | |
+| 2675 | [Array of Objects to Matrix](/solution/2600-2699/2675.Array%20of%20Objects%20to%20Matrix/README_EN.md) | | Medium | 🔒 |
+| 2676 | [Throttle](/solution/2600-2699/2676.Throttle/README_EN.md) | | Medium | 🔒 |
+| 2677 | [Chunk Array](/solution/2600-2699/2677.Chunk%20Array/README_EN.md) | | Easy | |
+| 2690 | [Infinite Method Object](/solution/2600-2699/2690.Infinite%20Method%20Object/README_EN.md) | | Easy | 🔒 |
+| 2691 | [Immutability Helper](/solution/2600-2699/2691.Immutability%20Helper/README_EN.md) | | Hard | 🔒 |
+| 2692 | [Make Object Immutable](/solution/2600-2699/2692.Make%20Object%20Immutable/README_EN.md) | | Medium | 🔒 |
+| 2693 | [Call Function with Custom Context](/solution/2600-2699/2693.Call%20Function%20with%20Custom%20Context/README_EN.md) | | Medium | |
+| 2694 | [Event Emitter](/solution/2600-2699/2694.Event%20Emitter/README_EN.md) | | Medium | |
+| 2695 | [Array Wrapper](/solution/2600-2699/2695.Array%20Wrapper/README_EN.md) | | Easy | |
+| 2700 | [Differences Between Two Objects](/solution/2700-2799/2700.Differences%20Between%20Two%20Objects/README_EN.md) | | Medium | 🔒 |
+| 2703 | [Return Length of Arguments Passed](/solution/2700-2799/2703.Return%20Length%20of%20Arguments%20Passed/README_EN.md) | | Easy | |
+| 2704 | [To Be Or Not To Be](/solution/2700-2799/2704.To%20Be%20Or%20Not%20To%20Be/README_EN.md) | | Easy | |
+| 2705 | [Compact Object](/solution/2700-2799/2705.Compact%20Object/README_EN.md) | | Medium | |
+| 2715 | [Timeout Cancellation](/solution/2700-2799/2715.Timeout%20Cancellation/README_EN.md) | | Easy | |
+| 2721 | [Execute Asynchronous Functions in Parallel](/solution/2700-2799/2721.Execute%20Asynchronous%20Functions%20in%20Parallel/README_EN.md) | | Medium | |
+| 2722 | [Join Two Arrays by ID](/solution/2700-2799/2722.Join%20Two%20Arrays%20by%20ID/README_EN.md) | | Medium | |
+| 2723 | [Add Two Promises](/solution/2700-2799/2723.Add%20Two%20Promises/README_EN.md) | | Easy | |
+| 2724 | [Sort By](/solution/2700-2799/2724.Sort%20By/README_EN.md) | | Easy | |
+| 2725 | [Interval Cancellation](/solution/2700-2799/2725.Interval%20Cancellation/README_EN.md) | | Easy | |
+| 2726 | [Calculator with Method Chaining](/solution/2700-2799/2726.Calculator%20with%20Method%20Chaining/README_EN.md) | | Easy | |
+| 2727 | [Is Object Empty](/solution/2700-2799/2727.Is%20Object%20Empty/README_EN.md) | | Easy | |
+| 2754 | [Bind Function to Context](/solution/2700-2799/2754.Bind%20Function%20to%20Context/README_EN.md) | | Medium | 🔒 |
+| 2755 | [Deep Merge of Two Objects](/solution/2700-2799/2755.Deep%20Merge%20of%20Two%20Objects/README_EN.md) | | Medium | 🔒 |
+| 2756 | [Query Batching](/solution/2700-2799/2756.Query%20Batching/README_EN.md) | | Hard | 🔒 |
+| 2757 | [Generate Circular Array Values](/solution/2700-2799/2757.Generate%20Circular%20Array%20Values/README_EN.md) | | Medium | 🔒 |
+| 2758 | [Next Day](/solution/2700-2799/2758.Next%20Day/README_EN.md) | | Easy | 🔒 |
+| 2759 | [Convert JSON String to Object](/solution/2700-2799/2759.Convert%20JSON%20String%20to%20Object/README_EN.md) | | Hard | 🔒 |
+| 2774 | [Array Upper Bound](/solution/2700-2799/2774.Array%20Upper%20Bound/README_EN.md) | | Easy | 🔒 |
+| 2775 | [Undefined to Null](/solution/2700-2799/2775.Undefined%20to%20Null/README_EN.md) | | Medium | 🔒 |
+| 2776 | [Convert Callback Based Function to Promise Based Function](/solution/2700-2799/2776.Convert%20Callback%20Based%20Function%20to%20Promise%20Based%20Function/README_EN.md) | | Medium | 🔒 |
+| 2777 | [Date Range Generator](/solution/2700-2799/2777.Date%20Range%20Generator/README_EN.md) | | Medium | 🔒 |
+| 2794 | [Create Object from Two Arrays](/solution/2700-2799/2794.Create%20Object%20from%20Two%20Arrays/README_EN.md) | | Easy | 🔒 |
+| 2795 | [Parallel Execution of Promises for Individual Results Retrieval](/solution/2700-2799/2795.Parallel%20Execution%20of%20Promises%20for%20Individual%20Results%20Retrieval/README_EN.md) | | Medium | 🔒 |
+| 2796 | [Repeat String](/solution/2700-2799/2796.Repeat%20String/README_EN.md) | | Easy | 🔒 |
+| 2797 | [Partial Function with Placeholders](/solution/2700-2799/2797.Partial%20Function%20with%20Placeholders/README_EN.md) | | Medium | 🔒 |
+| 2803 | [Factorial Generator](/solution/2800-2899/2803.Factorial%20Generator/README_EN.md) | | Easy | 🔒 |
+| 2804 | [Array Prototype ForEach](/solution/2800-2899/2804.Array%20Prototype%20ForEach/README_EN.md) | | Easy | 🔒 |
+| 2805 | [Custom Interval](/solution/2800-2899/2805.Custom%20Interval/README_EN.md) | | Medium | 🔒 |
+| 2821 | [Delay the Resolution of Each Promise](/solution/2800-2899/2821.Delay%20the%20Resolution%20of%20Each%20Promise/README_EN.md) | | Easy | 🔒 |
+| 2822 | [Inversion of Object](/solution/2800-2899/2822.Inversion%20of%20Object/README_EN.md) | | Easy | 🔒 |
+| 2823 | [Deep Object Filter](/solution/2800-2899/2823.Deep%20Object%20Filter/README_EN.md) | | Medium | 🔒 |
+
+## Copyright
+
+[@Doocs](https://github.com/doocs)
diff --git a/solution/README.md b/solution/README.md
index f35c478b4cb66..c2c77ab6fd392 100644
--- a/solution/README.md
+++ b/solution/README.md
@@ -6,7 +6,7 @@
 
 列表所有题解均由 [开源社区 Doocs](https://github.com/doocs) 贡献者提供,正在完善中,欢迎贡献你的题解!
 
-快速搜索题号、题解、标签等,请善用 Control+F(或者 Command+F)。
+快速搜索题号、题解、标签等,请善用 Control + F(或者 Command + F)。
 
 
 | 题号 | 题解 | 标签 | 难度 | 备注 |
diff --git a/solution/README_EN.md b/solution/README_EN.md
index 1ee2a32ea4d50..df21708512ce5 100644
--- a/solution/README_EN.md
+++ b/solution/README_EN.md
@@ -4,7 +4,7 @@
 
 ## Solutions
 
-Press Control+F(or Command+F on the Mac) to search anything you want.
+Press Control + F(or Command + F on the Mac) to search anything you want.
 
 
 | # | Solution | Tags | Difficulty | Remark |
diff --git a/solution/database-summary.md b/solution/database-summary.md
new file mode 100644
index 0000000000000..015913b7b2ea3
--- /dev/null
+++ b/solution/database-summary.md
@@ -0,0 +1,237 @@
+- 数据库专项练习
+
+ - [0175.组合两个表](/database-solution/0100-0199/0175.Combine%20Two%20Tables/README.md)
+ - [0176.第二高的薪水](/database-solution/0100-0199/0176.Second%20Highest%20Salary/README.md)
+ - [0177.第 N 高的薪水](/database-solution/0100-0199/0177.Nth%20Highest%20Salary/README.md)
+ - [0178.分数排名](/database-solution/0100-0199/0178.Rank%20Scores/README.md)
+ - [0180.连续出现的数字](/database-solution/0100-0199/0180.Consecutive%20Numbers/README.md)
+ - [0181.超过经理收入的员工](/database-solution/0100-0199/0181.Employees%20Earning%20More%20Than%20Their%20Managers/README.md)
+ - [0182.查找重复的电子邮箱](/database-solution/0100-0199/0182.Duplicate%20Emails/README.md)
+ - [0183.从不订购的客户](/database-solution/0100-0199/0183.Customers%20Who%20Never%20Order/README.md)
+ - [0184.部门工资最高的员工](/database-solution/0100-0199/0184.Department%20Highest%20Salary/README.md)
+ - [0185.部门工资前三高的所有员工](/database-solution/0100-0199/0185.Department%20Top%20Three%20Salaries/README.md)
+ - [0196.删除重复的电子邮箱](/database-solution/0100-0199/0196.Delete%20Duplicate%20Emails/README.md)
+ - [0197.上升的温度](/database-solution/0100-0199/0197.Rising%20Temperature/README.md)
+ - [0262.行程和用户](/database-solution/0200-0299/0262.Trips%20and%20Users/README.md)
+ - [0511.游戏玩法分析 I](/database-solution/0500-0599/0511.Game%20Play%20Analysis%20I/README.md)
+ - [0512.游戏玩法分析 II](/database-solution/0500-0599/0512.Game%20Play%20Analysis%20II/README.md)
+ - [0534.游戏玩法分析 III](/database-solution/0500-0599/0534.Game%20Play%20Analysis%20III/README.md)
+ - [0550.游戏玩法分析 IV](/database-solution/0500-0599/0550.Game%20Play%20Analysis%20IV/README.md)
+ - [0569.员工薪水中位数](/database-solution/0500-0599/0569.Median%20Employee%20Salary/README.md)
+ - [0570.至少有 5 名直接下属的经理](/database-solution/0500-0599/0570.Managers%20with%20at%20Least%205%20Direct%20Reports/README.md)
+ - [0571.给定数字的频率查询中位数](/database-solution/0500-0599/0571.Find%20Median%20Given%20Frequency%20of%20Numbers/README.md)
+ - [0574.当选者](/database-solution/0500-0599/0574.Winning%20Candidate/README.md)
+ - [0577.员工奖金](/database-solution/0500-0599/0577.Employee%20Bonus/README.md)
+ - [0578.查询回答率最高的问题](/database-solution/0500-0599/0578.Get%20Highest%20Answer%20Rate%20Question/README.md)
+ - [0579.查询员工的累计薪水](/database-solution/0500-0599/0579.Find%20Cumulative%20Salary%20of%20an%20Employee/README.md)
+ - [0580.统计各专业学生人数](/database-solution/0500-0599/0580.Count%20Student%20Number%20in%20Departments/README.md)
+ - [0584.寻找用户推荐人](/database-solution/0500-0599/0584.Find%20Customer%20Referee/README.md)
+ - [0585.2016 年的投资](/database-solution/0500-0599/0585.Investments%20in%202016/README.md)
+ - [0586.订单最多的客户](/database-solution/0500-0599/0586.Customer%20Placing%20the%20Largest%20Number%20of%20Orders/README.md)
+ - [0595.大的国家](/database-solution/0500-0599/0595.Big%20Countries/README.md)
+ - [0596.超过 5 名学生的课](/database-solution/0500-0599/0596.Classes%20More%20Than%205%20Students/README.md)
+ - [0597.好友申请 I:总体通过率](/database-solution/0500-0599/0597.Friend%20Requests%20I%20Overall%20Acceptance%20Rate/README.md)
+ - [0601.体育馆的人流量](/database-solution/0600-0699/0601.Human%20Traffic%20of%20Stadium/README.md)
+ - [0602.好友申请 II :谁有最多的好友](/database-solution/0600-0699/0602.Friend%20Requests%20II%20Who%20Has%20the%20Most%20Friends/README.md)
+ - [0603.连续空余座位](/database-solution/0600-0699/0603.Consecutive%20Available%20Seats/README.md)
+ - [0607.销售员](/database-solution/0600-0699/0607.Sales%20Person/README.md)
+ - [0608.树节点](/database-solution/0600-0699/0608.Tree%20Node/README.md)
+ - [0610.判断三角形](/database-solution/0600-0699/0610.Triangle%20Judgement/README.md)
+ - [0612.平面上的最近距离](/database-solution/0600-0699/0612.Shortest%20Distance%20in%20a%20Plane/README.md)
+ - [0613.直线上的最近距离](/database-solution/0600-0699/0613.Shortest%20Distance%20in%20a%20Line/README.md)
+ - [0614.二级关注者](/database-solution/0600-0699/0614.Second%20Degree%20Follower/README.md)
+ - [0615.平均工资:部门与公司比较](/database-solution/0600-0699/0615.Average%20Salary%20Departments%20VS%20Company/README.md)
+ - [0618.学生地理信息报告](/database-solution/0600-0699/0618.Students%20Report%20By%20Geography/README.md)
+ - [0619.只出现一次的最大数字](/database-solution/0600-0699/0619.Biggest%20Single%20Number/README.md)
+ - [0620.有趣的电影](/database-solution/0600-0699/0620.Not%20Boring%20Movies/README.md)
+ - [0626.换座位](/database-solution/0600-0699/0626.Exchange%20Seats/README.md)
+ - [0627.变更性别](/database-solution/0600-0699/0627.Swap%20Salary/README.md)
+ - [1045.买下所有产品的客户](/database-solution/1000-1099/1045.Customers%20Who%20Bought%20All%20Products/README.md)
+ - [1050.合作过至少三次的演员和导演](/database-solution/1000-1099/1050.Actors%20and%20Directors%20Who%20Cooperated%20At%20Least%20Three%20Times/README.md)
+ - [1068.产品销售分析 I](/database-solution/1000-1099/1068.Product%20Sales%20Analysis%20I/README.md)
+ - [1069.产品销售分析 II](/database-solution/1000-1099/1069.Product%20Sales%20Analysis%20II/README.md)
+ - [1070.产品销售分析 III](/database-solution/1000-1099/1070.Product%20Sales%20Analysis%20III/README.md)
+ - [1075.项目员工 I](/database-solution/1000-1099/1075.Project%20Employees%20I/README.md)
+ - [1076.项目员工 II](/database-solution/1000-1099/1076.Project%20Employees%20II/README.md)
+ - [1077.项目员工 III](/database-solution/1000-1099/1077.Project%20Employees%20III/README.md)
+ - [1082.销售分析 I ](/database-solution/1000-1099/1082.Sales%20Analysis%20I/README.md)
+ - [1083.销售分析 II](/database-solution/1000-1099/1083.Sales%20Analysis%20II/README.md)
+ - [1084.销售分析 III](/database-solution/1000-1099/1084.Sales%20Analysis%20III/README.md)
+ - [1097.游戏玩法分析 V](/database-solution/1000-1099/1097.Game%20Play%20Analysis%20V/README.md)
+ - [1098.小众书籍](/database-solution/1000-1099/1098.Unpopular%20Books/README.md)
+ - [1107.每日新用户统计](/database-solution/1100-1199/1107.New%20Users%20Daily%20Count/README.md)
+ - [1112.每位学生的最高成绩](/database-solution/1100-1199/1112.Highest%20Grade%20For%20Each%20Student/README.md)
+ - [1113.报告的记录](/database-solution/1100-1199/1113.Reported%20Posts/README.md)
+ - [1126.查询活跃业务](/database-solution/1100-1199/1126.Active%20Businesses/README.md)
+ - [1127.用户购买平台](/database-solution/1100-1199/1127.User%20Purchase%20Platform/README.md)
+ - [1132.报告的记录 II](/database-solution/1100-1199/1132.Reported%20Posts%20II/README.md)
+ - [1141.查询近 30 天活跃用户数](/database-solution/1100-1199/1141.User%20Activity%20for%20the%20Past%2030%20Days%20I/README.md)
+ - [1142.过去 30 天的用户活动 II](/database-solution/1100-1199/1142.User%20Activity%20for%20the%20Past%2030%20Days%20II/README.md)
+ - [1148.文章浏览 I](/database-solution/1100-1199/1148.Article%20Views%20I/README.md)
+ - [1149.文章浏览 II](/database-solution/1100-1199/1149.Article%20Views%20II/README.md)
+ - [1158.市场分析 I](/database-solution/1100-1199/1158.Market%20Analysis%20I/README.md)
+ - [1159.市场分析 II](/database-solution/1100-1199/1159.Market%20Analysis%20II/README.md)
+ - [1164.指定日期的产品价格](/database-solution/1100-1199/1164.Product%20Price%20at%20a%20Given%20Date/README.md)
+ - [1173.即时食物配送 I](/database-solution/1100-1199/1173.Immediate%20Food%20Delivery%20I/README.md)
+ - [1174.即时食物配送 II](/database-solution/1100-1199/1174.Immediate%20Food%20Delivery%20II/README.md)
+ - [1179.重新格式化部门表](/database-solution/1100-1199/1179.Reformat%20Department%20Table/README.md)
+ - [1193.每月交易 I](/database-solution/1100-1199/1193.Monthly%20Transactions%20I/README.md)
+ - [1194.锦标赛优胜者](/database-solution/1100-1199/1194.Tournament%20Winners/README.md)
+ - [1204.最后一个能进入巴士的人](/database-solution/1200-1299/1204.Last%20Person%20to%20Fit%20in%20the%20Bus/README.md)
+ - [1205.每月交易 II](/database-solution/1200-1299/1205.Monthly%20Transactions%20II/README.md)
+ - [1211.查询结果的质量和占比](/database-solution/1200-1299/1211.Queries%20Quality%20and%20Percentage/README.md)
+ - [1212.查询球队积分](/database-solution/1200-1299/1212.Team%20Scores%20in%20Football%20Tournament/README.md)
+ - [1225.报告系统状态的连续日期](/database-solution/1200-1299/1225.Report%20Contiguous%20Dates/README.md)
+ - [1241.每个帖子的评论数](/database-solution/1200-1299/1241.Number%20of%20Comments%20per%20Post/README.md)
+ - [1251.平均售价](/database-solution/1200-1299/1251.Average%20Selling%20Price/README.md)
+ - [1264.页面推荐](/database-solution/1200-1299/1264.Page%20Recommendations/README.md)
+ - [1270.向公司 CEO 汇报工作的所有人](/database-solution/1200-1299/1270.All%20People%20Report%20to%20the%20Given%20Manager/README.md)
+ - [1280.学生们参加各科测试的次数](/database-solution/1200-1299/1280.Students%20and%20Examinations/README.md)
+ - [1285.找到连续区间的开始和结束数字](/database-solution/1200-1299/1285.Find%20the%20Start%20and%20End%20Number%20of%20Continuous%20Ranges/README.md)
+ - [1294.不同国家的天气类型](/database-solution/1200-1299/1294.Weather%20Type%20in%20Each%20Country/README.md)
+ - [1303.求团队人数](/database-solution/1300-1399/1303.Find%20the%20Team%20Size/README.md)
+ - [1308.不同性别每日分数总计](/database-solution/1300-1399/1308.Running%20Total%20for%20Different%20Genders/README.md)
+ - [1321.餐馆营业额变化增长](/database-solution/1300-1399/1321.Restaurant%20Growth/README.md)
+ - [1322.广告效果](/database-solution/1300-1399/1322.Ads%20Performance/README.md)
+ - [1327.列出指定时间段内所有的下单产品](/database-solution/1300-1399/1327.List%20the%20Products%20Ordered%20in%20a%20Period/README.md)
+ - [1336.每次访问的交易次数](/database-solution/1300-1399/1336.Number%20of%20Transactions%20per%20Visit/README.md)
+ - [1341.电影评分](/database-solution/1300-1399/1341.Movie%20Rating/README.md)
+ - [1350.院系无效的学生](/database-solution/1300-1399/1350.Students%20With%20Invalid%20Departments/README.md)
+ - [1355.活动参与者](/database-solution/1300-1399/1355.Activity%20Participants/README.md)
+ - [1364.顾客的可信联系人数量](/database-solution/1300-1399/1364.Number%20of%20Trusted%20Contacts%20of%20a%20Customer/README.md)
+ - [1369.获取最近第二次的活动](/database-solution/1300-1399/1369.Get%20the%20Second%20Most%20Recent%20Activity/README.md)
+ - [1378.使用唯一标识码替换员工 ID](/database-solution/1300-1399/1378.Replace%20Employee%20ID%20With%20The%20Unique%20Identifier/README.md)
+ - [1384.按年度列出销售总额](/database-solution/1300-1399/1384.Total%20Sales%20Amount%20by%20Year/README.md)
+ - [1393.股票的资本损益](/database-solution/1300-1399/1393.Capital%20GainLoss/README.md)
+ - [1398.购买了产品 A 和产品 B 却没有购买产品 C 的顾客](/database-solution/1300-1399/1398.Customers%20Who%20Bought%20Products%20A%20and%20B%20but%20Not%20C/README.md)
+ - [1407.排名靠前的旅行者](/database-solution/1400-1499/1407.Top%20Travellers/README.md)
+ - [1412.查找成绩处于中游的学生](/database-solution/1400-1499/1412.Find%20the%20Quiet%20Students%20in%20All%20Exams/README.md)
+ - [1421.净现值查询](/database-solution/1400-1499/1421.NPV%20Queries/README.md)
+ - [1435.制作会话柱状图](/database-solution/1400-1499/1435.Create%20a%20Session%20Bar%20Chart/README.md)
+ - [1440.计算布尔表达式的值](/database-solution/1400-1499/1440.Evaluate%20Boolean%20Expression/README.md)
+ - [1445.苹果和桔子](/database-solution/1400-1499/1445.Apples%20%26%20Oranges/README.md)
+ - [1454.活跃用户](/database-solution/1400-1499/1454.Active%20Users/README.md)
+ - [1459.矩形面积](/database-solution/1400-1499/1459.Rectangles%20Area/README.md)
+ - [1468.计算税后工资](/database-solution/1400-1499/1468.Calculate%20Salaries/README.md)
+ - [1479.周内每天的销售情况](/database-solution/1400-1499/1479.Sales%20by%20Day%20of%20the%20Week/README.md)
+ - [1484.按日期分组销售产品](/database-solution/1400-1499/1484.Group%20Sold%20Products%20By%20The%20Date/README.md)
+ - [1495.上月播放的儿童适宜电影](/database-solution/1400-1499/1495.Friendly%20Movies%20Streamed%20Last%20Month/README.md)
+ - [1501.可以放心投资的国家](/database-solution/1500-1599/1501.Countries%20You%20Can%20Safely%20Invest%20In/README.md)
+ - [1511.消费者下单频率](/database-solution/1500-1599/1511.Customer%20Order%20Frequency/README.md)
+ - [1517.查找拥有有效邮箱的用户](/database-solution/1500-1599/1517.Find%20Users%20With%20Valid%20E-Mails/README.md)
+ - [1527.患某种疾病的患者](/database-solution/1500-1599/1527.Patients%20With%20a%20Condition/README.md)
+ - [1532.最近的三笔订单](/database-solution/1500-1599/1532.The%20Most%20Recent%20Three%20Orders/README.md)
+ - [1543.产品名称格式修复](/database-solution/1500-1599/1543.Fix%20Product%20Name%20Format/README.md)
+ - [1549.每件商品的最新订单](/database-solution/1500-1599/1549.The%20Most%20Recent%20Orders%20for%20Each%20Product/README.md)
+ - [1555.银行账户概要](/database-solution/1500-1599/1555.Bank%20Account%20Summary/README.md)
+ - [1565.按月统计订单数与顾客数](/database-solution/1500-1599/1565.Unique%20Orders%20and%20Customers%20Per%20Month/README.md)
+ - [1571.仓库经理](/database-solution/1500-1599/1571.Warehouse%20Manager/README.md)
+ - [1581.进店却未进行过交易的顾客](/database-solution/1500-1599/1581.Customer%20Who%20Visited%20but%20Did%20Not%20Make%20Any%20Transactions/README.md)
+ - [1587.银行账户概要 II](/database-solution/1500-1599/1587.Bank%20Account%20Summary%20II/README.md)
+ - [1596.每位顾客最经常订购的商品](/database-solution/1500-1599/1596.The%20Most%20Frequently%20Ordered%20Products%20for%20Each%20Customer/README.md)
+ - [1607.没有卖出的卖家](/database-solution/1600-1699/1607.Sellers%20With%20No%20Sales/README.md)
+ - [1613.找到遗失的 ID](/database-solution/1600-1699/1613.Find%20the%20Missing%20IDs/README.md)
+ - [1623.三人国家代表队](/database-solution/1600-1699/1623.All%20Valid%20Triplets%20That%20Can%20Represent%20a%20Country/README.md)
+ - [1633.各赛事的用户注册率](/database-solution/1600-1699/1633.Percentage%20of%20Users%20Attended%20a%20Contest/README.md)
+ - [1635.Hopper 公司查询 I](/database-solution/1600-1699/1635.Hopper%20Company%20Queries%20I/README.md)
+ - [1645.1645.Hopper 公司查询 II](/database-solution/1600-1699/1645.Hopper%20Company%20Queries%20II/README.md)
+ - [1651.Hopper 公司查询 III](/database-solution/1600-1699/1651.Hopper%20Company%20Queries%20III/README.md)
+ - [1661.每台机器的进程平均运行时间](/database-solution/1600-1699/1661.Average%20Time%20of%20Process%20per%20Machine/README.md)
+ - [1667.修复表中的名字](/database-solution/1600-1699/1667.Fix%20Names%20in%20a%20Table/README.md)
+ - [1677.发票中的产品金额](/database-solution/1600-1699/1677.Product%27s%20Worth%20Over%20Invoices/README.md)
+ - [1683.无效的推文](/database-solution/1600-1699/1683.Invalid%20Tweets/README.md)
+ - [1693.每天的领导和合伙人](/database-solution/1600-1699/1693.Daily%20Leads%20and%20Partners/README.md)
+ - [1699.两人之间的通话次数](/database-solution/1600-1699/1699.Number%20of%20Calls%20Between%20Two%20Persons/README.md)
+ - [1709.访问日期之间最大的空档期](/database-solution/1700-1799/1709.Biggest%20Window%20Between%20Visits/README.md)
+ - [1715.苹果和橘子的个数](/database-solution/1700-1799/1715.Count%20Apples%20and%20Oranges/README.md)
+ - [1729.求关注者的数量](/database-solution/1700-1799/1729.Find%20Followers%20Count/README.md)
+ - [1731.每位经理的下属员工数量](/database-solution/1700-1799/1731.The%20Number%20of%20Employees%20Which%20Report%20to%20Each%20Employee/README.md)
+ - [1741.查找每个员工花费的总时间](/database-solution/1700-1799/1741.Find%20Total%20Time%20Spent%20by%20Each%20Employee/README.md)
+ - [1747.应该被禁止的 Leetflex 账户](/database-solution/1700-1799/1747.Leetflex%20Banned%20Accounts/README.md)
+ - [1757.可回收且低脂的产品](/database-solution/1700-1799/1757.Recyclable%20and%20Low%20Fat%20Products/README.md)
+ - [1767.寻找没有被执行的任务对](/database-solution/1700-1799/1767.Find%20the%20Subtasks%20That%20Did%20Not%20Execute/README.md)
+ - [1777.每家商店的产品价格](/database-solution/1700-1799/1777.Product%27s%20Price%20for%20Each%20Store/README.md)
+ - [1783.大满贯数量](/database-solution/1700-1799/1783.Grand%20Slam%20Titles/README.md)
+ - [1789.员工的直属部门](/database-solution/1700-1799/1789.Primary%20Department%20for%20Each%20Employee/README.md)
+ - [1795.每个产品在不同商店的价格](/database-solution/1700-1799/1795.Rearrange%20Products%20Table/README.md)
+ - [1809.没有广告的剧集](/database-solution/1800-1899/1809.Ad-Free%20Sessions/README.md)
+ - [1811.寻找面试候选人](/database-solution/1800-1899/1811.Find%20Interview%20Candidates/README.md)
+ - [1821.寻找今年具有正收入的客户](/database-solution/1800-1899/1821.Find%20Customers%20With%20Positive%20Revenue%20this%20Year/README.md)
+ - [1831.每天的最大交易](/database-solution/1800-1899/1831.Maximum%20Transaction%20Each%20Day/README.md)
+ - [1841.联赛信息统计](/database-solution/1800-1899/1841.League%20Statistics/README.md)
+ - [1843.可疑银行账户](/database-solution/1800-1899/1843.Suspicious%20Bank%20Accounts/README.md)
+ - [1853.转换日期格式](/database-solution/1800-1899/1853.Convert%20Date%20Format/README.md)
+ - [1867.最大数量高于平均水平的订单](/database-solution/1800-1899/1867.Orders%20With%20Maximum%20Quantity%20Above%20Average/README.md)
+ - [1873.计算特殊奖金](/database-solution/1800-1899/1873.Calculate%20Special%20Bonus/README.md)
+ - [1875.将工资相同的雇员分组](/database-solution/1800-1899/1875.Group%20Employees%20of%20the%20Same%20Salary/README.md)
+ - [1890.2020 年最后一次登录](/database-solution/1800-1899/1890.The%20Latest%20Login%20in%202020/README.md)
+ - [1892.页面推荐 II](/database-solution/1800-1899/1892.Page%20Recommendations%20II/README.md)
+ - [1907.按分类统计薪水](/database-solution/1900-1999/1907.Count%20Salary%20Categories/README.md)
+ - [1917.Leetcodify 好友推荐](/database-solution/1900-1999/1917.Leetcodify%20Friends%20Recommendations/README.md)
+ - [1919.兴趣相同的朋友](/database-solution/1900-1999/1919.Leetcodify%20Similar%20Friends/README.md)
+ - [1934.确认率](/database-solution/1900-1999/1934.Confirmation%20Rate/README.md)
+ - [1939.主动请求确认消息的用户](/database-solution/1900-1999/1939.Users%20That%20Actively%20Request%20Confirmation%20Messages/README.md)
+ - [1949.坚定的友谊](/database-solution/1900-1999/1949.Strong%20Friendship/README.md)
+ - [1951.查询具有最多共同关注者的所有两两结对组](/database-solution/1900-1999/1951.All%20the%20Pairs%20With%20the%20Maximum%20Number%20of%20Common%20Followers/README.md)
+ - [1965.丢失信息的雇员](/database-solution/1900-1999/1965.Employees%20With%20Missing%20Information/README.md)
+ - [1972.同一天的第一个电话和最后一个电话](/database-solution/1900-1999/1972.First%20and%20Last%20Call%20On%20the%20Same%20Day/README.md)
+ - [1978.上级经理已离职的公司员工](/database-solution/1900-1999/1978.Employees%20Whose%20Manager%20Left%20the%20Company/README.md)
+ - [1988.找出每所学校的最低分数要求](/database-solution/1900-1999/1988.Find%20Cutoff%20Score%20for%20Each%20School/README.md)
+ - [1990.统计实验的数量](/database-solution/1900-1999/1990.Count%20the%20Number%20of%20Experiments/README.md)
+ - [2004.职员招聘人数](/database-solution/2000-2099/2004.The%20Number%20of%20Seniors%20and%20Juniors%20to%20Join%20the%20Company/README.md)
+ - [2010.职员招聘人数 II](/database-solution/2000-2099/2010.The%20Number%20of%20Seniors%20and%20Juniors%20to%20Join%20the%20Company%20II/README.md)
+ - [2020.无流量的帐户数](/database-solution/2000-2099/2020.Number%20of%20Accounts%20That%20Did%20Not%20Stream/README.md)
+ - [2026.低质量的问题](/database-solution/2000-2099/2026.Low-Quality%20Problems/README.md)
+ - [2041.面试中被录取的候选人](/database-solution/2000-2099/2041.Accepted%20Candidates%20From%20the%20Interviews/README.md)
+ - [2051.商店中每个成员的级别](/database-solution/2000-2099/2051.The%20Category%20of%20Each%20Member%20in%20the%20Store/README.md)
+ - [2066.账户余额](/database-solution/2000-2099/2066.Account%20Balance/README.md)
+ - [2072.赢得比赛的大学](/database-solution/2000-2099/2072.The%20Winner%20University/README.md)
+ - [2082.富有客户的数量](/database-solution/2000-2099/2082.The%20Number%20of%20Rich%20Customers/README.md)
+ - [2084.为订单类型为 0 的客户删除类型为 1 的订单](/database-solution/2000-2099/2084.Drop%20Type%201%20Orders%20for%20Customers%20With%20Type%200%20Orders/README.md)
+ - [2112.最繁忙的机场](/database-solution/2100-2199/2112.The%20Airport%20With%20the%20Most%20Traffic/README.md)
+ - [2118.建立方程](/database-solution/2100-2199/2118.Build%20the%20Equation/README.md)
+ - [2142.每辆车的乘客人数 I](/database-solution/2100-2199/2142.The%20Number%20of%20Passengers%20in%20Each%20Bus%20I/README.md)
+ - [2153.每辆车的乘客人数 II](/database-solution/2100-2199/2153.The%20Number%20of%20Passengers%20in%20Each%20Bus%20II/README.md)
+ - [2159.分别排序两列](/database-solution/2100-2199/2159.Order%20Two%20Columns%20Independently/README.md)
+ - [2173.最多连胜的次数](/database-solution/2100-2199/2173.Longest%20Winning%20Streak/README.md)
+ - [2175.世界排名的变化](/database-solution/2100-2199/2175.The%20Change%20in%20Global%20Rankings/README.md)
+ - [2199.找到每篇文章的主题](/database-solution/2100-2199/2199.Finding%20the%20Topic%20of%20Each%20Post/README.md)
+ - [2205.有资格享受折扣的用户数量](/database-solution/2200-2299/2205.The%20Number%20of%20Users%20That%20Are%20Eligible%20for%20Discount/README.md)
+ - [2228.7 天内两次购买的用户](/database-solution/2200-2299/2228.Users%20With%20Two%20Purchases%20Within%20Seven%20Days/README.md)
+ - [2230.查找可享受优惠的用户](/database-solution/2200-2299/2230.The%20Users%20That%20Are%20Eligible%20for%20Discount/README.md)
+ - [2238.司机成为乘客的次数](/database-solution/2200-2299/2238.Number%20of%20Times%20a%20Driver%20Was%20a%20Passenger/README.md)
+ - [2252.表的动态旋转](/database-solution/2200-2299/2252.Dynamic%20Pivoting%20of%20a%20Table/README.md)
+ - [2253.动态取消表的旋转](/database-solution/2200-2299/2253.Dynamic%20Unpivoting%20of%20a%20Table/README.md)
+ - [2292.连续两年有 3 个及以上订单的产品](/database-solution/2200-2299/2292.Products%20With%20Three%20or%20More%20Orders%20in%20Two%20Consecutive%20Years/README.md)
+ - [2298.周末任务计数](/database-solution/2200-2299/2298.Tasks%20Count%20in%20the%20Weekend/README.md)
+ - [2308.按性别排列表格](/database-solution/2300-2399/2308.Arrange%20Table%20by%20Gender/README.md)
+ - [2314.每个城市最高气温的第一天](/database-solution/2300-2399/2314.The%20First%20Day%20of%20the%20Maximum%20Recorded%20Degree%20in%20Each%20City/README.md)
+ - [2324.产品销售分析 IV](/database-solution/2300-2399/2324.Product%20Sales%20Analysis%20IV/README.md)
+ - [2329.产品销售分析 V](/database-solution/2300-2399/2329.Product%20Sales%20Analysis%20V/README.md)
+ - [2339.联赛的所有比赛](/database-solution/2300-2399/2339.All%20the%20Matches%20of%20the%20League/README.md)
+ - [2346.以百分比计算排名](/database-solution/2300-2399/2346.Compute%20the%20Rank%20as%20a%20Percentage/README.md)
+ - [2356.每位教师所教授的科目种类的数量](/database-solution/2300-2399/2356.Number%20of%20Unique%20Subjects%20Taught%20by%20Each%20Teacher/README.md)
+ - [2362.生成发票](/database-solution/2300-2399/2362.Generate%20the%20Invoice/README.md)
+ - [2372.计算每个销售人员的影响力](/database-solution/2300-2399/2372.Calculate%20the%20Influence%20of%20Each%20Salesperson/README.md)
+ - [2377.整理奥运表](/database-solution/2300-2399/2377.Sort%20the%20Olympic%20Table/README.md)
+ - [2388.将表中的空值更改为前一个值](/database-solution/2300-2399/2388.Change%20Null%20Values%20in%20a%20Table%20to%20the%20Previous%20Value/README.md)
+ - [2394.开除员工](/database-solution/2300-2399/2394.Employees%20With%20Deductions/README.md)
+ - [2474.购买量严格增加的客户](/database-solution/2400-2499/2474.Customers%20With%20Strictly%20Increasing%20Purchases/README.md)
+ - [2480.形成化学键](/database-solution/2400-2499/2480.Form%20a%20Chemical%20Bond/README.md)
+ - [2494.合并在同一个大厅重叠的活动](/database-solution/2400-2499/2494.Merge%20Overlapping%20Events%20in%20the%20Same%20Hall/README.md)
+ - [2504.把名字和职业联系起来](/database-solution/2500-2599/2504.Concatenate%20the%20Name%20and%20the%20Profession/README.md)
+ - [2668.查询员工当前薪水](/database-solution/2600-2699/2668.Find%20Latest%20Salaries/README.md)
+ - [2669.统计 Spotify 排行榜上艺术家出现次数](/database-solution/2600-2699/2669.Count%20Artist%20Occurrences%20On%20Spotify%20Ranking%20List/README.md)
+ - [2686.即时食物配送 III](/database-solution/2600-2699/2686.Immediate%20Food%20Delivery%20III/README.md)
+ - [2687.自行车的最后使用时间](/database-solution/2600-2699/2687.Bikes%20Last%20Time%20Used/README.md)
+ - [2688.查找活跃用户](/database-solution/2600-2699/2688.Find%20Active%20Users/README.md)
+ - [2701.连续递增交易](/database-solution/2700-2799/2701.Consecutive%20Transactions%20with%20Increasing%20Amounts/README.md)
+ - [2720.受欢迎度百分比](/database-solution/2700-2799/2720.Popularity%20Percentage/README.md)
+ - [2738.统计文本中单词的出现次数](/database-solution/2700-2799/2738.Count%20Occurrences%20in%20Text/README.md)
+ - [2752.在连续天数上进行了最多交易次数的顾客](/database-solution/2700-2799/2752.Customers%20with%20Maximum%20Number%20of%20Transactions%20on%20Consecutive%20Days/README.md)
+ - [2783.航班入座率和等待名单分析](/database-solution/2700-2799/2783.Flight%20Occupancy%20and%20Waitlist%20Analysis/README.md)
+ - [2793.航班机票状态](/database-solution/2700-2799/2793.Status%20of%20Flight%20Tickets/README.md)
+ - [2820.选举结果](/database-solution/2800-2899/2820.Election%20Results/README.md)
+ - [2837.总旅行距离](/database-solution/2800-2899/2837.Total%20Traveled%20Distance/README.md)
+ - [2853.Highest Salaries Difference](/database-solution/2800-2899/2853.Highest%20Salaries%20Difference/README.md)
+ - [2854.Rolling Average Steps](/database-solution/2800-2899/2854.Rolling%20Average%20Steps/README.md)
diff --git a/solution/database-summary_en.md b/solution/database-summary_en.md
new file mode 100644
index 0000000000000..231202e077476
--- /dev/null
+++ b/solution/database-summary_en.md
@@ -0,0 +1,237 @@
+- Database Practice
+
+ - [0175.Combine Two Tables](/database-solution/0100-0199/0175.Combine%20Two%20Tables/README_EN.md)
+ - [0176.Second Highest Salary](/database-solution/0100-0199/0176.Second%20Highest%20Salary/README_EN.md)
+ - [0177.Nth Highest Salary](/database-solution/0100-0199/0177.Nth%20Highest%20Salary/README_EN.md)
+ - [0178.Rank Scores](/database-solution/0100-0199/0178.Rank%20Scores/README_EN.md)
+ - [0180.Consecutive Numbers](/database-solution/0100-0199/0180.Consecutive%20Numbers/README_EN.md)
+ - [0181.Employees Earning More Than Their Managers](/database-solution/0100-0199/0181.Employees%20Earning%20More%20Than%20Their%20Managers/README_EN.md)
+ - [0182.Duplicate Emails](/database-solution/0100-0199/0182.Duplicate%20Emails/README_EN.md)
+ - [0183.Customers Who Never Order](/database-solution/0100-0199/0183.Customers%20Who%20Never%20Order/README_EN.md)
+ - [0184.Department Highest Salary](/database-solution/0100-0199/0184.Department%20Highest%20Salary/README_EN.md)
+ - [0185.Department Top Three Salaries](/database-solution/0100-0199/0185.Department%20Top%20Three%20Salaries/README_EN.md)
+ - [0196.Delete Duplicate Emails](/database-solution/0100-0199/0196.Delete%20Duplicate%20Emails/README_EN.md)
+ - [0197.Rising Temperature](/database-solution/0100-0199/0197.Rising%20Temperature/README_EN.md)
+ - [0262.Trips and Users](/database-solution/0200-0299/0262.Trips%20and%20Users/README_EN.md)
+ - [0511.Game Play Analysis I](/database-solution/0500-0599/0511.Game%20Play%20Analysis%20I/README_EN.md)
+ - [0512.Game Play Analysis II](/database-solution/0500-0599/0512.Game%20Play%20Analysis%20II/README_EN.md)
+ - [0534.Game Play Analysis III](/database-solution/0500-0599/0534.Game%20Play%20Analysis%20III/README_EN.md)
+ - [0550.Game Play Analysis IV](/database-solution/0500-0599/0550.Game%20Play%20Analysis%20IV/README_EN.md)
+ - [0569.Median Employee Salary](/database-solution/0500-0599/0569.Median%20Employee%20Salary/README_EN.md)
+ - [0570.Managers with at Least 5 Direct Reports](/database-solution/0500-0599/0570.Managers%20with%20at%20Least%205%20Direct%20Reports/README_EN.md)
+ - [0571.Find Median Given Frequency of Numbers](/database-solution/0500-0599/0571.Find%20Median%20Given%20Frequency%20of%20Numbers/README_EN.md)
+ - [0574.Winning Candidate](/database-solution/0500-0599/0574.Winning%20Candidate/README_EN.md)
+ - [0577.Employee Bonus](/database-solution/0500-0599/0577.Employee%20Bonus/README_EN.md)
+ - [0578.Get Highest Answer Rate Question](/database-solution/0500-0599/0578.Get%20Highest%20Answer%20Rate%20Question/README_EN.md)
+ - [0579.Find Cumulative Salary of an Employee](/database-solution/0500-0599/0579.Find%20Cumulative%20Salary%20of%20an%20Employee/README_EN.md)
+ - [0580.Count Student Number in Departments](/database-solution/0500-0599/0580.Count%20Student%20Number%20in%20Departments/README_EN.md)
+ - [0584.Find Customer Referee](/database-solution/0500-0599/0584.Find%20Customer%20Referee/README_EN.md)
+ - [0585.Investments in 2016](/database-solution/0500-0599/0585.Investments%20in%202016/README_EN.md)
+ - [0586.Customer Placing the Largest Number of Orders](/database-solution/0500-0599/0586.Customer%20Placing%20the%20Largest%20Number%20of%20Orders/README_EN.md)
+ - [0595.Big Countries](/database-solution/0500-0599/0595.Big%20Countries/README_EN.md)
+ - [0596.Classes More Than 5 Students](/database-solution/0500-0599/0596.Classes%20More%20Than%205%20Students/README_EN.md)
+ - [0597.Friend Requests I Overall Acceptance Rate](/database-solution/0500-0599/0597.Friend%20Requests%20I%20Overall%20Acceptance%20Rate/README_EN.md)
+ - [0601.Human Traffic of Stadium](/database-solution/0600-0699/0601.Human%20Traffic%20of%20Stadium/README_EN.md)
+ - [0602.Friend Requests II Who Has the Most Friends](/database-solution/0600-0699/0602.Friend%20Requests%20II%20Who%20Has%20the%20Most%20Friends/README_EN.md)
+ - [0603.Consecutive Available Seats](/database-solution/0600-0699/0603.Consecutive%20Available%20Seats/README_EN.md)
+ - [0607.Sales Person](/database-solution/0600-0699/0607.Sales%20Person/README_EN.md)
+ - [0608.Tree Node](/database-solution/0600-0699/0608.Tree%20Node/README_EN.md)
+ - [0610.Triangle Judgement](/database-solution/0600-0699/0610.Triangle%20Judgement/README_EN.md)
+ - [0612.Shortest Distance in a Plane](/database-solution/0600-0699/0612.Shortest%20Distance%20in%20a%20Plane/README_EN.md)
+ - [0613.Shortest Distance in a Line](/database-solution/0600-0699/0613.Shortest%20Distance%20in%20a%20Line/README_EN.md)
+ - [0614.Second Degree Follower](/database-solution/0600-0699/0614.Second%20Degree%20Follower/README_EN.md)
+ - [0615.Average Salary Departments VS Company](/database-solution/0600-0699/0615.Average%20Salary%20Departments%20VS%20Company/README_EN.md)
+ - [0618.Students Report By Geography](/database-solution/0600-0699/0618.Students%20Report%20By%20Geography/README_EN.md)
+ - [0619.Biggest Single Number](/database-solution/0600-0699/0619.Biggest%20Single%20Number/README_EN.md)
+ - [0620.Not Boring Movies](/database-solution/0600-0699/0620.Not%20Boring%20Movies/README_EN.md)
+ - [0626.Exchange Seats](/database-solution/0600-0699/0626.Exchange%20Seats/README_EN.md)
+ - [0627.Swap Salary](/database-solution/0600-0699/0627.Swap%20Salary/README_EN.md)
+ - [1045.Customers Who Bought All Products](/database-solution/1000-1099/1045.Customers%20Who%20Bought%20All%20Products/README_EN.md)
+ - [1050.Actors and Directors Who Cooperated At Least Three Times](/database-solution/1000-1099/1050.Actors%20and%20Directors%20Who%20Cooperated%20At%20Least%20Three%20Times/README_EN.md)
+ - [1068.Product Sales Analysis I](/database-solution/1000-1099/1068.Product%20Sales%20Analysis%20I/README_EN.md)
+ - [1069.Product Sales Analysis II](/database-solution/1000-1099/1069.Product%20Sales%20Analysis%20II/README_EN.md)
+ - [1070.Product Sales Analysis III](/database-solution/1000-1099/1070.Product%20Sales%20Analysis%20III/README_EN.md)
+ - [1075.Project Employees I](/database-solution/1000-1099/1075.Project%20Employees%20I/README_EN.md)
+ - [1076.Project Employees II](/database-solution/1000-1099/1076.Project%20Employees%20II/README_EN.md)
+ - [1077.Project Employees III](/database-solution/1000-1099/1077.Project%20Employees%20III/README_EN.md)
+ - [1082.Sales Analysis I](/database-solution/1000-1099/1082.Sales%20Analysis%20I/README_EN.md)
+ - [1083.Sales Analysis II](/database-solution/1000-1099/1083.Sales%20Analysis%20II/README_EN.md)
+ - [1084.Sales Analysis III](/database-solution/1000-1099/1084.Sales%20Analysis%20III/README_EN.md)
+ - [1097.Game Play Analysis V](/database-solution/1000-1099/1097.Game%20Play%20Analysis%20V/README_EN.md)
+ - [1098.Unpopular Books](/database-solution/1000-1099/1098.Unpopular%20Books/README_EN.md)
+ - [1107.New Users Daily Count](/database-solution/1100-1199/1107.New%20Users%20Daily%20Count/README_EN.md)
+ - [1112.Highest Grade For Each Student](/database-solution/1100-1199/1112.Highest%20Grade%20For%20Each%20Student/README_EN.md)
+ - [1113.Reported Posts](/database-solution/1100-1199/1113.Reported%20Posts/README_EN.md)
+ - [1126.Active Businesses](/database-solution/1100-1199/1126.Active%20Businesses/README_EN.md)
+ - [1127.User Purchase Platform](/database-solution/1100-1199/1127.User%20Purchase%20Platform/README_EN.md)
+ - [1132.Reported Posts II](/database-solution/1100-1199/1132.Reported%20Posts%20II/README_EN.md)
+ - [1141.User Activity for the Past 30 Days I](/database-solution/1100-1199/1141.User%20Activity%20for%20the%20Past%2030%20Days%20I/README_EN.md)
+ - [1142.User Activity for the Past 30 Days II](/database-solution/1100-1199/1142.User%20Activity%20for%20the%20Past%2030%20Days%20II/README_EN.md)
+ - [1148.Article Views I](/database-solution/1100-1199/1148.Article%20Views%20I/README_EN.md)
+ - [1149.Article Views II](/database-solution/1100-1199/1149.Article%20Views%20II/README_EN.md)
+ - [1158.Market Analysis I](/database-solution/1100-1199/1158.Market%20Analysis%20I/README_EN.md)
+ - [1159.Market Analysis II](/database-solution/1100-1199/1159.Market%20Analysis%20II/README_EN.md)
+ - [1164.Product Price at a Given Date](/database-solution/1100-1199/1164.Product%20Price%20at%20a%20Given%20Date/README_EN.md)
+ - [1173.Immediate Food Delivery I](/database-solution/1100-1199/1173.Immediate%20Food%20Delivery%20I/README_EN.md)
+ - [1174.Immediate Food Delivery II](/database-solution/1100-1199/1174.Immediate%20Food%20Delivery%20II/README_EN.md)
+ - [1179.Reformat Department Table](/database-solution/1100-1199/1179.Reformat%20Department%20Table/README_EN.md)
+ - [1193.Monthly Transactions I](/database-solution/1100-1199/1193.Monthly%20Transactions%20I/README_EN.md)
+ - [1194.Tournament Winners](/database-solution/1100-1199/1194.Tournament%20Winners/README_EN.md)
+ - [1204.Last Person to Fit in the Bus](/database-solution/1200-1299/1204.Last%20Person%20to%20Fit%20in%20the%20Bus/README_EN.md)
+ - [1205.Monthly Transactions II](/database-solution/1200-1299/1205.Monthly%20Transactions%20II/README_EN.md)
+ - [1211.Queries Quality and Percentage](/database-solution/1200-1299/1211.Queries%20Quality%20and%20Percentage/README_EN.md)
+ - [1212.Team Scores in Football Tournament](/database-solution/1200-1299/1212.Team%20Scores%20in%20Football%20Tournament/README_EN.md)
+ - [1225.Report Contiguous Dates](/database-solution/1200-1299/1225.Report%20Contiguous%20Dates/README_EN.md)
+ - [1241.Number of Comments per Post](/database-solution/1200-1299/1241.Number%20of%20Comments%20per%20Post/README_EN.md)
+ - [1251.Average Selling Price](/database-solution/1200-1299/1251.Average%20Selling%20Price/README_EN.md)
+ - [1264.Page Recommendations](/database-solution/1200-1299/1264.Page%20Recommendations/README_EN.md)
+ - [1270.All People Report to the Given Manager](/database-solution/1200-1299/1270.All%20People%20Report%20to%20the%20Given%20Manager/README_EN.md)
+ - [1280.Students and Examinations](/database-solution/1200-1299/1280.Students%20and%20Examinations/README_EN.md)
+ - [1285.Find the Start and End Number of Continuous Ranges](/database-solution/1200-1299/1285.Find%20the%20Start%20and%20End%20Number%20of%20Continuous%20Ranges/README_EN.md)
+ - [1294.Weather Type in Each Country](/database-solution/1200-1299/1294.Weather%20Type%20in%20Each%20Country/README_EN.md)
+ - [1303.Find the Team Size](/database-solution/1300-1399/1303.Find%20the%20Team%20Size/README_EN.md)
+ - [1308.Running Total for Different Genders](/database-solution/1300-1399/1308.Running%20Total%20for%20Different%20Genders/README_EN.md)
+ - [1321.Restaurant Growth](/database-solution/1300-1399/1321.Restaurant%20Growth/README_EN.md)
+ - [1322.Ads Performance](/database-solution/1300-1399/1322.Ads%20Performance/README_EN.md)
+ - [1327.List the Products Ordered in a Period](/database-solution/1300-1399/1327.List%20the%20Products%20Ordered%20in%20a%20Period/README_EN.md)
+ - [1336.Number of Transactions per Visit](/database-solution/1300-1399/1336.Number%20of%20Transactions%20per%20Visit/README_EN.md)
+ - [1341.Movie Rating](/database-solution/1300-1399/1341.Movie%20Rating/README_EN.md)
+ - [1350.Students With Invalid Departments](/database-solution/1300-1399/1350.Students%20With%20Invalid%20Departments/README_EN.md)
+ - [1355.Activity Participants](/database-solution/1300-1399/1355.Activity%20Participants/README_EN.md)
+ - [1364.Number of Trusted Contacts of a Customer](/database-solution/1300-1399/1364.Number%20of%20Trusted%20Contacts%20of%20a%20Customer/README_EN.md)
+ - [1369.Get the Second Most Recent Activity](/database-solution/1300-1399/1369.Get%20the%20Second%20Most%20Recent%20Activity/README_EN.md)
+ - [1378.Replace Employee ID With The Unique Identifier](/database-solution/1300-1399/1378.Replace%20Employee%20ID%20With%20The%20Unique%20Identifier/README_EN.md)
+ - [1384.Total Sales Amount by Year](/database-solution/1300-1399/1384.Total%20Sales%20Amount%20by%20Year/README_EN.md)
+ - [1393.Capital GainLoss](/database-solution/1300-1399/1393.Capital%20GainLoss/README_EN.md)
+ - [1398.Customers Who Bought Products A and B but Not C](/database-solution/1300-1399/1398.Customers%20Who%20Bought%20Products%20A%20and%20B%20but%20Not%20C/README_EN.md)
+ - [1407.Top Travellers](/database-solution/1400-1499/1407.Top%20Travellers/README_EN.md)
+ - [1412.Find the Quiet Students in All Exams](/database-solution/1400-1499/1412.Find%20the%20Quiet%20Students%20in%20All%20Exams/README_EN.md)
+ - [1421.NPV Queries](/database-solution/1400-1499/1421.NPV%20Queries/README_EN.md)
+ - [1435.Create a Session Bar Chart](/database-solution/1400-1499/1435.Create%20a%20Session%20Bar%20Chart/README_EN.md)
+ - [1440.Evaluate Boolean Expression](/database-solution/1400-1499/1440.Evaluate%20Boolean%20Expression/README_EN.md)
+ - [1445.Apples & Oranges](/database-solution/1400-1499/1445.Apples%20%26%20Oranges/README_EN.md)
+ - [1454.Active Users](/database-solution/1400-1499/1454.Active%20Users/README_EN.md)
+ - [1459.Rectangles Area](/database-solution/1400-1499/1459.Rectangles%20Area/README_EN.md)
+ - [1468.Calculate Salaries](/database-solution/1400-1499/1468.Calculate%20Salaries/README_EN.md)
+ - [1479.Sales by Day of the Week](/database-solution/1400-1499/1479.Sales%20by%20Day%20of%20the%20Week/README_EN.md)
+ - [1484.Group Sold Products By The Date](/database-solution/1400-1499/1484.Group%20Sold%20Products%20By%20The%20Date/README_EN.md)
+ - [1495.Friendly Movies Streamed Last Month](/database-solution/1400-1499/1495.Friendly%20Movies%20Streamed%20Last%20Month/README_EN.md)
+ - [1501.Countries You Can Safely Invest In](/database-solution/1500-1599/1501.Countries%20You%20Can%20Safely%20Invest%20In/README_EN.md)
+ - [1511.Customer Order Frequency](/database-solution/1500-1599/1511.Customer%20Order%20Frequency/README_EN.md)
+ - [1517.Find Users With Valid E-Mails](/database-solution/1500-1599/1517.Find%20Users%20With%20Valid%20E-Mails/README_EN.md)
+ - [1527.Patients With a Condition](/database-solution/1500-1599/1527.Patients%20With%20a%20Condition/README_EN.md)
+ - [1532.The Most Recent Three Orders](/database-solution/1500-1599/1532.The%20Most%20Recent%20Three%20Orders/README_EN.md)
+ - [1543.Fix Product Name Format](/database-solution/1500-1599/1543.Fix%20Product%20Name%20Format/README_EN.md)
+ - [1549.The Most Recent Orders for Each Product](/database-solution/1500-1599/1549.The%20Most%20Recent%20Orders%20for%20Each%20Product/README_EN.md)
+ - [1555.Bank Account Summary](/database-solution/1500-1599/1555.Bank%20Account%20Summary/README_EN.md)
+ - [1565.Unique Orders and Customers Per Month](/database-solution/1500-1599/1565.Unique%20Orders%20and%20Customers%20Per%20Month/README_EN.md)
+ - [1571.Warehouse Manager](/database-solution/1500-1599/1571.Warehouse%20Manager/README_EN.md)
+ - [1581.Customer Who Visited but Did Not Make Any Transactions](/database-solution/1500-1599/1581.Customer%20Who%20Visited%20but%20Did%20Not%20Make%20Any%20Transactions/README_EN.md)
+ - [1587.Bank Account Summary II](/database-solution/1500-1599/1587.Bank%20Account%20Summary%20II/README_EN.md)
+ - [1596.The Most Frequently Ordered Products for Each Customer](/database-solution/1500-1599/1596.The%20Most%20Frequently%20Ordered%20Products%20for%20Each%20Customer/README_EN.md)
+ - [1607.Sellers With No Sales](/database-solution/1600-1699/1607.Sellers%20With%20No%20Sales/README_EN.md)
+ - [1613.Find the Missing IDs](/database-solution/1600-1699/1613.Find%20the%20Missing%20IDs/README_EN.md)
+ - [1623.All Valid Triplets That Can Represent a Country](/database-solution/1600-1699/1623.All%20Valid%20Triplets%20That%20Can%20Represent%20a%20Country/README_EN.md)
+ - [1633.Percentage of Users Attended a Contest](/database-solution/1600-1699/1633.Percentage%20of%20Users%20Attended%20a%20Contest/README_EN.md)
+ - [1635.Hopper Company Queries I](/database-solution/1600-1699/1635.Hopper%20Company%20Queries%20I/README_EN.md)
+ - [1645.Hopper Company Queries II](/database-solution/1600-1699/1645.Hopper%20Company%20Queries%20II/README_EN.md)
+ - [1651.Hopper Company Queries III](/database-solution/1600-1699/1651.Hopper%20Company%20Queries%20III/README_EN.md)
+ - [1661.Average Time of Process per Machine](/database-solution/1600-1699/1661.Average%20Time%20of%20Process%20per%20Machine/README_EN.md)
+ - [1667.Fix Names in a Table](/database-solution/1600-1699/1667.Fix%20Names%20in%20a%20Table/README_EN.md)
+ - [1677.Product's Worth Over Invoices](/database-solution/1600-1699/1677.Product%27s%20Worth%20Over%20Invoices/README_EN.md)
+ - [1683.Invalid Tweets](/database-solution/1600-1699/1683.Invalid%20Tweets/README_EN.md)
+ - [1693.Daily Leads and Partners](/database-solution/1600-1699/1693.Daily%20Leads%20and%20Partners/README_EN.md)
+ - [1699.Number of Calls Between Two Persons](/database-solution/1600-1699/1699.Number%20of%20Calls%20Between%20Two%20Persons/README_EN.md)
+ - [1709.Biggest Window Between Visits](/database-solution/1700-1799/1709.Biggest%20Window%20Between%20Visits/README_EN.md)
+ - [1715.Count Apples and Oranges](/database-solution/1700-1799/1715.Count%20Apples%20and%20Oranges/README_EN.md)
+ - [1729.Find Followers Count](/database-solution/1700-1799/1729.Find%20Followers%20Count/README_EN.md)
+ - [1731.The Number of Employees Which Report to Each Employee](/database-solution/1700-1799/1731.The%20Number%20of%20Employees%20Which%20Report%20to%20Each%20Employee/README_EN.md)
+ - [1741.Find Total Time Spent by Each Employee](/database-solution/1700-1799/1741.Find%20Total%20Time%20Spent%20by%20Each%20Employee/README_EN.md)
+ - [1747.Leetflex Banned Accounts](/database-solution/1700-1799/1747.Leetflex%20Banned%20Accounts/README_EN.md)
+ - [1757.Recyclable and Low Fat Products](/database-solution/1700-1799/1757.Recyclable%20and%20Low%20Fat%20Products/README_EN.md)
+ - [1767.Find the Subtasks That Did Not Execute](/database-solution/1700-1799/1767.Find%20the%20Subtasks%20That%20Did%20Not%20Execute/README_EN.md)
+ - [1777.Product's Price for Each Store](/database-solution/1700-1799/1777.Product%27s%20Price%20for%20Each%20Store/README_EN.md)
+ - [1783.Grand Slam Titles](/database-solution/1700-1799/1783.Grand%20Slam%20Titles/README_EN.md)
+ - [1789.Primary Department for Each Employee](/database-solution/1700-1799/1789.Primary%20Department%20for%20Each%20Employee/README_EN.md)
+ - [1795.Rearrange Products Table](/database-solution/1700-1799/1795.Rearrange%20Products%20Table/README_EN.md)
+ - [1809.Ad-Free Sessions](/database-solution/1800-1899/1809.Ad-Free%20Sessions/README_EN.md)
+ - [1811.Find Interview Candidates](/database-solution/1800-1899/1811.Find%20Interview%20Candidates/README_EN.md)
+ - [1821.Find Customers With Positive Revenue this Year](/database-solution/1800-1899/1821.Find%20Customers%20With%20Positive%20Revenue%20this%20Year/README_EN.md)
+ - [1831.Maximum Transaction Each Day](/database-solution/1800-1899/1831.Maximum%20Transaction%20Each%20Day/README_EN.md)
+ - [1841.League Statistics](/database-solution/1800-1899/1841.League%20Statistics/README_EN.md)
+ - [1843.Suspicious Bank Accounts](/database-solution/1800-1899/1843.Suspicious%20Bank%20Accounts/README_EN.md)
+ - [1853.Convert Date Format](/database-solution/1800-1899/1853.Convert%20Date%20Format/README_EN.md)
+ - [1867.Orders With Maximum Quantity Above Average](/database-solution/1800-1899/1867.Orders%20With%20Maximum%20Quantity%20Above%20Average/README_EN.md)
+ - [1873.Calculate Special Bonus](/database-solution/1800-1899/1873.Calculate%20Special%20Bonus/README_EN.md)
+ - [1875.Group Employees of the Same Salary](/database-solution/1800-1899/1875.Group%20Employees%20of%20the%20Same%20Salary/README_EN.md)
+ - [1890.The Latest Login in 2020](/database-solution/1800-1899/1890.The%20Latest%20Login%20in%202020/README_EN.md)
+ - [1892.Page Recommendations II](/database-solution/1800-1899/1892.Page%20Recommendations%20II/README_EN.md)
+ - [1907.Count Salary Categories](/database-solution/1900-1999/1907.Count%20Salary%20Categories/README_EN.md)
+ - [1917.Leetcodify Friends Recommendations](/database-solution/1900-1999/1917.Leetcodify%20Friends%20Recommendations/README_EN.md)
+ - [1919.Leetcodify Similar Friends](/database-solution/1900-1999/1919.Leetcodify%20Similar%20Friends/README_EN.md)
+ - [1934.Confirmation Rate](/database-solution/1900-1999/1934.Confirmation%20Rate/README_EN.md)
+ - [1939.Users That Actively Request Confirmation Messages](/database-solution/1900-1999/1939.Users%20That%20Actively%20Request%20Confirmation%20Messages/README_EN.md)
+ - [1949.Strong Friendship](/database-solution/1900-1999/1949.Strong%20Friendship/README_EN.md)
+ - [1951.All the Pairs With the Maximum Number of Common Followers](/database-solution/1900-1999/1951.All%20the%20Pairs%20With%20the%20Maximum%20Number%20of%20Common%20Followers/README_EN.md)
+ - [1965.Employees With Missing Information](/database-solution/1900-1999/1965.Employees%20With%20Missing%20Information/README_EN.md)
+ - [1972.First and Last Call On the Same Day](/database-solution/1900-1999/1972.First%20and%20Last%20Call%20On%20the%20Same%20Day/README_EN.md)
+ - [1978.Employees Whose Manager Left the Company](/database-solution/1900-1999/1978.Employees%20Whose%20Manager%20Left%20the%20Company/README_EN.md)
+ - [1988.Find Cutoff Score for Each School](/database-solution/1900-1999/1988.Find%20Cutoff%20Score%20for%20Each%20School/README_EN.md)
+ - [1990.Count the Number of Experiments](/database-solution/1900-1999/1990.Count%20the%20Number%20of%20Experiments/README_EN.md)
+ - [2004.The Number of Seniors and Juniors to Join the Company](/database-solution/2000-2099/2004.The%20Number%20of%20Seniors%20and%20Juniors%20to%20Join%20the%20Company/README_EN.md)
+ - [2010.The Number of Seniors and Juniors to Join the Company II](/database-solution/2000-2099/2010.The%20Number%20of%20Seniors%20and%20Juniors%20to%20Join%20the%20Company%20II/README_EN.md)
+ - [2020.Number of Accounts That Did Not Stream](/database-solution/2000-2099/2020.Number%20of%20Accounts%20That%20Did%20Not%20Stream/README_EN.md)
+ - [2026.Low-Quality Problems](/database-solution/2000-2099/2026.Low-Quality%20Problems/README_EN.md)
+ - [2041.Accepted Candidates From the Interviews](/database-solution/2000-2099/2041.Accepted%20Candidates%20From%20the%20Interviews/README_EN.md)
+ - [2051.The Category of Each Member in the Store](/database-solution/2000-2099/2051.The%20Category%20of%20Each%20Member%20in%20the%20Store/README_EN.md)
+ - [2066.Account Balance](/database-solution/2000-2099/2066.Account%20Balance/README_EN.md)
+ - [2072.The Winner University](/database-solution/2000-2099/2072.The%20Winner%20University/README_EN.md)
+ - [2082.The Number of Rich Customers](/database-solution/2000-2099/2082.The%20Number%20of%20Rich%20Customers/README_EN.md)
+ - [2084.Drop Type 1 Orders for Customers With Type 0 Orders](/database-solution/2000-2099/2084.Drop%20Type%201%20Orders%20for%20Customers%20With%20Type%200%20Orders/README_EN.md)
+ - [2112.The Airport With the Most Traffic](/database-solution/2100-2199/2112.The%20Airport%20With%20the%20Most%20Traffic/README_EN.md)
+ - [2118.Build the Equation](/database-solution/2100-2199/2118.Build%20the%20Equation/README_EN.md)
+ - [2142.The Number of Passengers in Each Bus I](/database-solution/2100-2199/2142.The%20Number%20of%20Passengers%20in%20Each%20Bus%20I/README_EN.md)
+ - [2153.The Number of Passengers in Each Bus II](/database-solution/2100-2199/2153.The%20Number%20of%20Passengers%20in%20Each%20Bus%20II/README_EN.md)
+ - [2159.Order Two Columns Independently](/database-solution/2100-2199/2159.Order%20Two%20Columns%20Independently/README_EN.md)
+ - [2173.Longest Winning Streak](/database-solution/2100-2199/2173.Longest%20Winning%20Streak/README_EN.md)
+ - [2175.The Change in Global Rankings](/database-solution/2100-2199/2175.The%20Change%20in%20Global%20Rankings/README_EN.md)
+ - [2199.Finding the Topic of Each Post](/database-solution/2100-2199/2199.Finding%20the%20Topic%20of%20Each%20Post/README_EN.md)
+ - [2205.The Number of Users That Are Eligible for Discount](/database-solution/2200-2299/2205.The%20Number%20of%20Users%20That%20Are%20Eligible%20for%20Discount/README_EN.md)
+ - [2228.Users With Two Purchases Within Seven Days](/database-solution/2200-2299/2228.Users%20With%20Two%20Purchases%20Within%20Seven%20Days/README_EN.md)
+ - [2230.The Users That Are Eligible for Discount](/database-solution/2200-2299/2230.The%20Users%20That%20Are%20Eligible%20for%20Discount/README_EN.md)
+ - [2238.Number of Times a Driver Was a Passenger](/database-solution/2200-2299/2238.Number%20of%20Times%20a%20Driver%20Was%20a%20Passenger/README_EN.md)
+ - [2252.Dynamic Pivoting of a Table](/database-solution/2200-2299/2252.Dynamic%20Pivoting%20of%20a%20Table/README_EN.md)
+ - [2253.Dynamic Unpivoting of a Table](/database-solution/2200-2299/2253.Dynamic%20Unpivoting%20of%20a%20Table/README_EN.md)
+ - [2292.Products With Three or More Orders in Two Consecutive Years](/database-solution/2200-2299/2292.Products%20With%20Three%20or%20More%20Orders%20in%20Two%20Consecutive%20Years/README_EN.md)
+ - [2298.Tasks Count in the Weekend](/database-solution/2200-2299/2298.Tasks%20Count%20in%20the%20Weekend/README_EN.md)
+ - [2308.Arrange Table by Gender](/database-solution/2300-2399/2308.Arrange%20Table%20by%20Gender/README_EN.md)
+ - [2314.The First Day of the Maximum Recorded Degree in Each City](/database-solution/2300-2399/2314.The%20First%20Day%20of%20the%20Maximum%20Recorded%20Degree%20in%20Each%20City/README_EN.md)
+ - [2324.Product Sales Analysis IV](/database-solution/2300-2399/2324.Product%20Sales%20Analysis%20IV/README_EN.md)
+ - [2329.Product Sales Analysis V](/database-solution/2300-2399/2329.Product%20Sales%20Analysis%20V/README_EN.md)
+ - [2339.All the Matches of the League](/database-solution/2300-2399/2339.All%20the%20Matches%20of%20the%20League/README_EN.md)
+ - [2346.Compute the Rank as a Percentage](/database-solution/2300-2399/2346.Compute%20the%20Rank%20as%20a%20Percentage/README_EN.md)
+ - [2356.Number of Unique Subjects Taught by Each Teacher](/database-solution/2300-2399/2356.Number%20of%20Unique%20Subjects%20Taught%20by%20Each%20Teacher/README_EN.md)
+ - [2362.Generate the Invoice](/database-solution/2300-2399/2362.Generate%20the%20Invoice/README_EN.md)
+ - [2372.Calculate the Influence of Each Salesperson](/database-solution/2300-2399/2372.Calculate%20the%20Influence%20of%20Each%20Salesperson/README_EN.md)
+ - [2377.Sort the Olympic Table](/database-solution/2300-2399/2377.Sort%20the%20Olympic%20Table/README_EN.md)
+ - [2388.Change Null Values in a Table to the Previous Value](/database-solution/2300-2399/2388.Change%20Null%20Values%20in%20a%20Table%20to%20the%20Previous%20Value/README_EN.md)
+ - [2394.Employees With Deductions](/database-solution/2300-2399/2394.Employees%20With%20Deductions/README_EN.md)
+ - [2474.Customers With Strictly Increasing Purchases](/database-solution/2400-2499/2474.Customers%20With%20Strictly%20Increasing%20Purchases/README_EN.md)
+ - [2480.Form a Chemical Bond](/database-solution/2400-2499/2480.Form%20a%20Chemical%20Bond/README_EN.md)
+ - [2494.Merge Overlapping Events in the Same Hall](/database-solution/2400-2499/2494.Merge%20Overlapping%20Events%20in%20the%20Same%20Hall/README_EN.md)
+ - [2504.Concatenate the Name and the Profession](/database-solution/2500-2599/2504.Concatenate%20the%20Name%20and%20the%20Profession/README_EN.md)
+ - [2668.Find Latest Salaries](/database-solution/2600-2699/2668.Find%20Latest%20Salaries/README_EN.md)
+ - [2669.Count Artist Occurrences On Spotify Ranking List](/database-solution/2600-2699/2669.Count%20Artist%20Occurrences%20On%20Spotify%20Ranking%20List/README_EN.md)
+ - [2686.Immediate Food Delivery III](/database-solution/2600-2699/2686.Immediate%20Food%20Delivery%20III/README_EN.md)
+ - [2687.Bikes Last Time Used](/database-solution/2600-2699/2687.Bikes%20Last%20Time%20Used/README_EN.md)
+ - [2688.Find Active Users](/database-solution/2600-2699/2688.Find%20Active%20Users/README_EN.md)
+ - [2701.Consecutive Transactions with Increasing Amounts](/database-solution/2700-2799/2701.Consecutive%20Transactions%20with%20Increasing%20Amounts/README_EN.md)
+ - [2720.Popularity Percentage](/database-solution/2700-2799/2720.Popularity%20Percentage/README_EN.md)
+ - [2738.Count Occurrences in Text](/database-solution/2700-2799/2738.Count%20Occurrences%20in%20Text/README_EN.md)
+ - [2752.Customers with Maximum Number of Transactions on Consecutive Days](/database-solution/2700-2799/2752.Customers%20with%20Maximum%20Number%20of%20Transactions%20on%20Consecutive%20Days/README_EN.md)
+ - [2783.Flight Occupancy and Waitlist Analysis](/database-solution/2700-2799/2783.Flight%20Occupancy%20and%20Waitlist%20Analysis/README_EN.md)
+ - [2793.Status of Flight Tickets](/database-solution/2700-2799/2793.Status%20of%20Flight%20Tickets/README_EN.md)
+ - [2820.Election Results](/database-solution/2800-2899/2820.Election%20Results/README_EN.md)
+ - [2837.Total Traveled Distance](/database-solution/2800-2899/2837.Total%20Traveled%20Distance/README_EN.md)
+ - [2853.Highest Salaries Difference](/database-solution/2800-2899/2853.Highest%20Salaries%20Difference/README_EN.md)
+ - [2854.Rolling Average Steps](/database-solution/2800-2899/2854.Rolling%20Average%20Steps/README_EN.md)
diff --git a/solution/javascript-summary.md b/solution/javascript-summary.md
new file mode 100644
index 0000000000000..6a80917a7042a
--- /dev/null
+++ b/solution/javascript-summary.md
@@ -0,0 +1,69 @@
+- JavaScript 专项练习
+
+ - [2618.检查是否是类的对象实例](/javascript-solution/2600-2699/2618.Check%20if%20Object%20Instance%20of%20Class/README.md)
+ - [2619.数组原型对象的最后一个元素](/javascript-solution/2600-2699/2619.Array%20Prototype%20Last/README.md)
+ - [2620.计数器](/javascript-solution/2600-2699/2620.Counter/README.md)
+ - [2621.睡眠函数](/javascript-solution/2600-2699/2621.Sleep/README.md)
+ - [2622.有时间限制的缓存](/javascript-solution/2600-2699/2622.Cache%20With%20Time%20Limit/README.md)
+ - [2623.记忆函数](/javascript-solution/2600-2699/2623.Memoize/README.md)
+ - [2624.蜗牛排序](/javascript-solution/2600-2699/2624.Snail%20Traversal/README.md)
+ - [2625.扁平化嵌套数组](/javascript-solution/2600-2699/2625.Flatten%20Deeply%20Nested%20Array/README.md)
+ - [2626.数组归约运算](/javascript-solution/2600-2699/2626.Array%20Reduce%20Transformation/README.md)
+ - [2627.函数防抖](/javascript-solution/2600-2699/2627.Debounce/README.md)
+ - [2628.完全相等的 JSON 字符串](/javascript-solution/2600-2699/2628.JSON%20Deep%20Equal/README.md)
+ - [2629.复合函数](/javascript-solution/2600-2699/2629.Function%20Composition/README.md)
+ - [2630.记忆函数 II](/javascript-solution/2600-2699/2630.Memoize%20II/README.md)
+ - [2631.分组](/javascript-solution/2600-2699/2631.Group%20By/README.md)
+ - [2632.柯里化](/javascript-solution/2600-2699/2632.Curry/README.md)
+ - [2633.将对象转换为 JSON 字符串](/javascript-solution/2600-2699/2633.Convert%20Object%20to%20JSON%20String/README.md)
+ - [2634.过滤数组中的元素](/javascript-solution/2600-2699/2634.Filter%20Elements%20from%20Array/README.md)
+ - [2635.转换数组中的每个元素](/javascript-solution/2600-2699/2635.Apply%20Transform%20Over%20Each%20Element%20in%20Array/README.md)
+ - [2636.Promise 对象池](/javascript-solution/2600-2699/2636.Promise%20Pool/README.md)
+ - [2637.有时间限制的 Promise 对象](/javascript-solution/2600-2699/2637.Promise%20Time%20Limit/README.md)
+ - [2648.生成斐波那契数列](/javascript-solution/2600-2699/2648.Generate%20Fibonacci%20Sequence/README.md)
+ - [2649.嵌套数组生成器](/javascript-solution/2600-2699/2649.Nested%20Array%20Generator/README.md)
+ - [2650.设计可取消函数](/javascript-solution/2600-2699/2650.Design%20Cancellable%20Function/README.md)
+ - [2665.计数器 II](/javascript-solution/2600-2699/2665.Counter%20II/README.md)
+ - [2666.只允许一次函数调用](/javascript-solution/2600-2699/2666.Allow%20One%20Function%20Call/README.md)
+ - [2667.创建 Hello World 函数](/javascript-solution/2600-2699/2667.Create%20Hello%20World%20Function/README.md)
+ - [2675.将对象数组转换为矩阵](/javascript-solution/2600-2699/2675.Array%20of%20Objects%20to%20Matrix/README.md)
+ - [2676.节流](/javascript-solution/2600-2699/2676.Throttle/README.md)
+ - [2677.分块数组](/javascript-solution/2600-2699/2677.Chunk%20Array/README.md)
+ - [2690.无穷方法对象](/javascript-solution/2600-2699/2690.Infinite%20Method%20Object/README.md)
+ - [2691.不可变辅助工具](/javascript-solution/2600-2699/2691.Immutability%20Helper/README.md)
+ - [2692.使对象不可变](/javascript-solution/2600-2699/2692.Make%20Object%20Immutable/README.md)
+ - [2693.使用自定义上下文调用函数](/javascript-solution/2600-2699/2693.Call%20Function%20with%20Custom%20Context/README.md)
+ - [2694.事件发射器](/javascript-solution/2600-2699/2694.Event%20Emitter/README.md)
+ - [2695.包装数组](/javascript-solution/2600-2699/2695.Array%20Wrapper/README.md)
+ - [2700.两个对象之间的差异](/javascript-solution/2700-2799/2700.Differences%20Between%20Two%20Objects/README.md)
+ - [2703.返回传递的参数的长度](/javascript-solution/2700-2799/2703.Return%20Length%20of%20Arguments%20Passed/README.md)
+ - [2704.相等还是不相等](/javascript-solution/2700-2799/2704.To%20Be%20Or%20Not%20To%20Be/README.md)
+ - [2705.精简对象](/javascript-solution/2700-2799/2705.Compact%20Object/README.md)
+ - [2715.执行可取消的延迟函数](/javascript-solution/2700-2799/2715.Timeout%20Cancellation/README.md)
+ - [2721.并行执行异步函数](/javascript-solution/2700-2799/2721.Execute%20Asynchronous%20Functions%20in%20Parallel/README.md)
+ - [2722.根据 ID 合并两个数组](/javascript-solution/2700-2799/2722.Join%20Two%20Arrays%20by%20ID/README.md)
+ - [2723.添加两个 Promise 对象](/javascript-solution/2700-2799/2723.Add%20Two%20Promises/README.md)
+ - [2724.排序方式](/javascript-solution/2700-2799/2724.Sort%20By/README.md)
+ - [2725.间隔取消](/javascript-solution/2700-2799/2725.Interval%20Cancellation/README.md)
+ - [2726.使用方法链的计算器](/javascript-solution/2700-2799/2726.Calculator%20with%20Method%20Chaining/README.md)
+ - [2727.判断对象是否为空](/javascript-solution/2700-2799/2727.Is%20Object%20Empty/README.md)
+ - [2754.将函数绑定到上下文](/javascript-solution/2700-2799/2754.Bind%20Function%20to%20Context/README.md)
+ - [2755.深度合并两个对象](/javascript-solution/2700-2799/2755.Deep%20Merge%20of%20Two%20Objects/README.md)
+ - [2756.批处理查询](/javascript-solution/2700-2799/2756.Query%20Batching/README.md)
+ - [2757.生成循环数组的值](/javascript-solution/2700-2799/2757.Generate%20Circular%20Array%20Values/README.md)
+ - [2758.下一天](/javascript-solution/2700-2799/2758.Next%20Day/README.md)
+ - [2759.将 JSON 字符串转换为对象](/javascript-solution/2700-2799/2759.Convert%20JSON%20String%20to%20Object/README.md)
+ - [2774.数组的上界](/javascript-solution/2700-2799/2774.Array%20Upper%20Bound/README.md)
+ - [2775.将 undefined 转为 null](/javascript-solution/2700-2799/2775.Undefined%20to%20Null/README.md)
+ - [2776.转换回调函数为 Promise 函数](/javascript-solution/2700-2799/2776.Convert%20Callback%20Based%20Function%20to%20Promise%20Based%20Function/README.md)
+ - [2777.日期范围生成器](/javascript-solution/2700-2799/2777.Date%20Range%20Generator/README.md)
+ - [2794.从两个数组中创建对象](/javascript-solution/2700-2799/2794.Create%20Object%20from%20Two%20Arrays/README.md)
+ - [2795.并行执行 Promise 以获取独有的结果](/javascript-solution/2700-2799/2795.Parallel%20Execution%20of%20Promises%20for%20Individual%20Results%20Retrieval/README.md)
+ - [2796.重复字符串](/javascript-solution/2700-2799/2796.Repeat%20String/README.md)
+ - [2797.带有占位符的部分函数](/javascript-solution/2700-2799/2797.Partial%20Function%20with%20Placeholders/README.md)
+ - [2803.阶乘生成器](/javascript-solution/2800-2899/2803.Factorial%20Generator/README.md)
+ - [2804.数组原型的 forEach 方法](/javascript-solution/2800-2899/2804.Array%20Prototype%20ForEach/README.md)
+ - [2805.自定义间隔](/javascript-solution/2800-2899/2805.Custom%20Interval/README.md)
+ - [2821.延迟每个 Promise 对象的解析](/javascript-solution/2800-2899/2821.Delay%20the%20Resolution%20of%20Each%20Promise/README.md)
+ - [2822.对象反转](/javascript-solution/2800-2899/2822.Inversion%20of%20Object/README.md)
+ - [2823.深度对象筛选](/javascript-solution/2800-2899/2823.Deep%20Object%20Filter/README.md)
diff --git a/solution/javascript-summary_en.md b/solution/javascript-summary_en.md
new file mode 100644
index 0000000000000..b12aab0fa29d0
--- /dev/null
+++ b/solution/javascript-summary_en.md
@@ -0,0 +1,69 @@
+- JavaScript Practice
+
+ - [2618.Check if Object Instance of Class](/javascript-solution/2600-2699/2618.Check%20if%20Object%20Instance%20of%20Class/README_EN.md)
+ - [2619.Array Prototype Last](/javascript-solution/2600-2699/2619.Array%20Prototype%20Last/README_EN.md)
+ - [2620.Counter](/javascript-solution/2600-2699/2620.Counter/README_EN.md)
+ - [2621.Sleep](/javascript-solution/2600-2699/2621.Sleep/README_EN.md)
+ - [2622.Cache With Time Limit](/javascript-solution/2600-2699/2622.Cache%20With%20Time%20Limit/README_EN.md)
+ - [2623.Memoize](/javascript-solution/2600-2699/2623.Memoize/README_EN.md)
+ - [2624.Snail Traversal](/javascript-solution/2600-2699/2624.Snail%20Traversal/README_EN.md)
+ - [2625.Flatten Deeply Nested Array](/javascript-solution/2600-2699/2625.Flatten%20Deeply%20Nested%20Array/README_EN.md)
+ - [2626.Array Reduce Transformation](/javascript-solution/2600-2699/2626.Array%20Reduce%20Transformation/README_EN.md)
+ - [2627.Debounce](/javascript-solution/2600-2699/2627.Debounce/README_EN.md)
+ - [2628.JSON Deep Equal](/javascript-solution/2600-2699/2628.JSON%20Deep%20Equal/README_EN.md)
+ - [2629.Function Composition](/javascript-solution/2600-2699/2629.Function%20Composition/README_EN.md)
+ - [2630.Memoize II](/javascript-solution/2600-2699/2630.Memoize%20II/README_EN.md)
+ - [2631.Group By](/javascript-solution/2600-2699/2631.Group%20By/README_EN.md)
+ - [2632.Curry](/javascript-solution/2600-2699/2632.Curry/README_EN.md)
+ - [2633.Convert Object to JSON String](/javascript-solution/2600-2699/2633.Convert%20Object%20to%20JSON%20String/README_EN.md)
+ - [2634.Filter Elements from Array](/javascript-solution/2600-2699/2634.Filter%20Elements%20from%20Array/README_EN.md)
+ - [2635.Apply Transform Over Each Element in Array](/javascript-solution/2600-2699/2635.Apply%20Transform%20Over%20Each%20Element%20in%20Array/README_EN.md)
+ - [2636.Promise Pool](/javascript-solution/2600-2699/2636.Promise%20Pool/README_EN.md)
+ - [2637.Promise Time Limit](/javascript-solution/2600-2699/2637.Promise%20Time%20Limit/README_EN.md)
+ - [2648.Generate Fibonacci Sequence](/javascript-solution/2600-2699/2648.Generate%20Fibonacci%20Sequence/README_EN.md)
+ - [2649.Nested Array Generator](/javascript-solution/2600-2699/2649.Nested%20Array%20Generator/README_EN.md)
+ - [2650.Design Cancellable Function](/javascript-solution/2600-2699/2650.Design%20Cancellable%20Function/README_EN.md)
+ - [2665.Counter II](/javascript-solution/2600-2699/2665.Counter%20II/README_EN.md)
+ - [2666.Allow One Function Call](/javascript-solution/2600-2699/2666.Allow%20One%20Function%20Call/README_EN.md)
+ - [2667.Create Hello World Function](/javascript-solution/2600-2699/2667.Create%20Hello%20World%20Function/README_EN.md)
+ - [2675.Array of Objects to Matrix](/javascript-solution/2600-2699/2675.Array%20of%20Objects%20to%20Matrix/README_EN.md)
+ - [2676.Throttle](/javascript-solution/2600-2699/2676.Throttle/README_EN.md)
+ - [2677.Chunk Array](/javascript-solution/2600-2699/2677.Chunk%20Array/README_EN.md)
+ - [2690.Infinite Method Object](/javascript-solution/2600-2699/2690.Infinite%20Method%20Object/README_EN.md)
+ - [2691.Immutability Helper](/javascript-solution/2600-2699/2691.Immutability%20Helper/README_EN.md)
+ - [2692.Make Object Immutable](/javascript-solution/2600-2699/2692.Make%20Object%20Immutable/README_EN.md)
+ - [2693.Call Function with Custom Context](/javascript-solution/2600-2699/2693.Call%20Function%20with%20Custom%20Context/README_EN.md)
+ - [2694.Event Emitter](/javascript-solution/2600-2699/2694.Event%20Emitter/README_EN.md)
+ - [2695.Array Wrapper](/javascript-solution/2600-2699/2695.Array%20Wrapper/README_EN.md)
+ - [2700.Differences Between Two Objects](/javascript-solution/2700-2799/2700.Differences%20Between%20Two%20Objects/README_EN.md)
+ - [2703.Return Length of Arguments Passed](/javascript-solution/2700-2799/2703.Return%20Length%20of%20Arguments%20Passed/README_EN.md)
+ - [2704.To Be Or Not To Be](/javascript-solution/2700-2799/2704.To%20Be%20Or%20Not%20To%20Be/README_EN.md)
+ - [2705.Compact Object](/javascript-solution/2700-2799/2705.Compact%20Object/README_EN.md)
+ - [2715.Timeout Cancellation](/javascript-solution/2700-2799/2715.Timeout%20Cancellation/README_EN.md)
+ - [2721.Execute Asynchronous Functions in Parallel](/javascript-solution/2700-2799/2721.Execute%20Asynchronous%20Functions%20in%20Parallel/README_EN.md)
+ - [2722.Join Two Arrays by ID](/javascript-solution/2700-2799/2722.Join%20Two%20Arrays%20by%20ID/README_EN.md)
+ - [2723.Add Two Promises](/javascript-solution/2700-2799/2723.Add%20Two%20Promises/README_EN.md)
+ - [2724.Sort By](/javascript-solution/2700-2799/2724.Sort%20By/README_EN.md)
+ - [2725.Interval Cancellation](/javascript-solution/2700-2799/2725.Interval%20Cancellation/README_EN.md)
+ - [2726.Calculator with Method Chaining](/javascript-solution/2700-2799/2726.Calculator%20with%20Method%20Chaining/README_EN.md)
+ - [2727.Is Object Empty](/javascript-solution/2700-2799/2727.Is%20Object%20Empty/README_EN.md)
+ - [2754.Bind Function to Context](/javascript-solution/2700-2799/2754.Bind%20Function%20to%20Context/README_EN.md)
+ - [2755.Deep Merge of Two Objects](/javascript-solution/2700-2799/2755.Deep%20Merge%20of%20Two%20Objects/README_EN.md)
+ - [2756.Query Batching](/javascript-solution/2700-2799/2756.Query%20Batching/README_EN.md)
+ - [2757.Generate Circular Array Values](/javascript-solution/2700-2799/2757.Generate%20Circular%20Array%20Values/README_EN.md)
+ - [2758.Next Day](/javascript-solution/2700-2799/2758.Next%20Day/README_EN.md)
+ - [2759.Convert JSON String to Object](/javascript-solution/2700-2799/2759.Convert%20JSON%20String%20to%20Object/README_EN.md)
+ - [2774.Array Upper Bound](/javascript-solution/2700-2799/2774.Array%20Upper%20Bound/README_EN.md)
+ - [2775.Undefined to Null](/javascript-solution/2700-2799/2775.Undefined%20to%20Null/README_EN.md)
+ - [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)
+ - [2777.Date Range Generator](/javascript-solution/2700-2799/2777.Date%20Range%20Generator/README_EN.md)
+ - [2794.Create Object from Two Arrays](/javascript-solution/2700-2799/2794.Create%20Object%20from%20Two%20Arrays/README_EN.md)
+ - [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)
+ - [2796.Repeat String](/javascript-solution/2700-2799/2796.Repeat%20String/README_EN.md)
+ - [2797.Partial Function with Placeholders](/javascript-solution/2700-2799/2797.Partial%20Function%20with%20Placeholders/README_EN.md)
+ - [2803.Factorial Generator](/javascript-solution/2800-2899/2803.Factorial%20Generator/README_EN.md)
+ - [2804.Array Prototype ForEach](/javascript-solution/2800-2899/2804.Array%20Prototype%20ForEach/README_EN.md)
+ - [2805.Custom Interval](/javascript-solution/2800-2899/2805.Custom%20Interval/README_EN.md)
+ - [2821.Delay the Resolution of Each Promise](/javascript-solution/2800-2899/2821.Delay%20the%20Resolution%20of%20Each%20Promise/README_EN.md)
+ - [2822.Inversion of Object](/javascript-solution/2800-2899/2822.Inversion%20of%20Object/README_EN.md)
+ - [2823.Deep Object Filter](/javascript-solution/2800-2899/2823.Deep%20Object%20Filter/README_EN.md)
diff --git a/solution/template.md b/solution/template.md
index 85ba674e49d97..0d0b2ce7e9f36 100644
--- a/solution/template.md
+++ b/solution/template.md
@@ -1,3 +1,45 @@
+
+
+# {}专项练习
+
+[English Version](/solution/{}_README_EN.md)
+
+## 题解
+
+列表所有题解均由 [开源社区 Doocs](https://github.com/doocs) 贡献者提供,正在完善中,欢迎贡献你的题解!
+
+快速搜索题号、题解、标签等,请善用 Control + F(或者 Command + F)。
+
+{}
+
+## 版权
+
+著作权归 [GitHub 开源社区 Doocs](https://github.com/doocs) 所有,商业转载请联系 [@yanglbme](mailto:contact@yanglibin.info) 获得授权,非商业转载请注明出处。
+
+
+
+---
+
+
+
+# {} Practice
+
+[中文文档](/solution/{}_README.md)
+
+## Solutions
+
+Press Control + F(or Command + F on the Mac) to search anything you want.
+
+{}
+
+## Copyright
+
+[@Doocs](https://github.com/doocs)
+
+
+
+---
+
 
 
 # LeetCode
@@ -8,7 +50,7 @@
 
 列表所有题解均由 [开源社区 Doocs](https://github.com/doocs) 贡献者提供,正在完善中,欢迎贡献你的题解!
 
-快速搜索题号、题解、标签等,请善用 Control+F(或者 Command+F)。
+快速搜索题号、题解、标签等,请善用 Control + F(或者 Command + F)。
 
 {}
 
@@ -28,7 +70,7 @@
 
 ## Solutions
 
-Press Control+F(or Command+F on the Mac) to search anything you want.
+Press Control + F(or Command + F on the Mac) to search anything you want.
 
 {}
 
diff --git a/solution/util.py b/solution/util.py
index f94bbe9fdde1d..872c91b7a00b7 100644
--- a/solution/util.py
+++ b/solution/util.py
@@ -28,6 +28,12 @@ def load_template(template_name: str) -> str:
 ts_readme_en = load_template("ts_problem_readme_template_en")
 contest_readme_cn = load_template("contest_readme_template")
 contest_readme_en = load_template("contest_readme_template_en")
+category_readme_cn = load_template("category_readme_template")
+category_readme_en = load_template("category_readme_template_en")
+
+category_dict = {
+ 'Database': '数据库',
+}
 
 
 def load_cookies() -> Tuple[str, str]:
@@ -155,7 +161,7 @@ def generate_question_readme(result):
 item["title_cn"],
 item["url_cn"],
 item["relative_path_en"],
- item["content_cn"].replace('leetcode-cn.com', 'leetcode.cn'),
+ item["content_cn"].replace("leetcode-cn.com", "leetcode.cn"),
 )
 )
 
@@ -202,6 +208,82 @@ def generate_summary(result):
 f.write(summary_en)
 
 
+def generate_category_summary(result, category=""):
+ """generate category summary files"""
+ summary_cn = (
+ "- " + category_dict.get(category, category) + "专项练习\n\n" if category else ""
+ )
+ summary_en = "- " + category + " Practice\n\n" if category else ""
+ category = category.lower() if category else ""
+ sub_category = category + "-" if category else ""
+ m = {int(item["frontend_question_id"]): item for item in result}
+ for file in sorted(os.listdir("./"), key=lambda x: x.lower()):
+ if os.path.isdir("./" + file) and file != "__pycache__":
+ for sub in sorted(os.listdir("./" + file), key=lambda x: x.lower()):
+ sub = sub.replace("`", " ")
+ enc = quote(sub)
+ if not sub[:4].isdigit():
+ continue
+ data = m.get(int(sub[:4]))
+ if not data or (category and data["category"].lower() != category):
+ continue
+ sub_cn = sub
+ if data:
+ sub_cn = sub[:5] + data["title_cn"]
+
+ summary_cn += (
+ f" - [{sub_cn}](/{sub_category}solution/{file}/{enc}/README.md)\n"
+ )
+ summary_en += (
+ f" - [{sub}](/{sub_category}solution/{file}/{enc}/README_EN.md)\n"
+ )
+
+ # generate summary.md
+ with open(f"./{sub_category}summary.md", "w", encoding="utf-8") as f:
+ f.write(summary_cn)
+
+ # generate summary_en.md
+ with open(f"./{sub_category}summary_en.md", "w", encoding="utf-8") as f:
+ f.write(summary_en)
+
+
+def generate_category_readme(result, category=""):
+ md_table_cn = [item["md_table_row_cn"] for item in result]
+ md_table_en = [item["md_table_row_en"] for item in result]
+ m = {int(item["frontend_question_id"]): item for item in result}
+
+ # generate README.md
+ items = []
+ table_cn = "\n| 题号 | 题解 | 标签 | 难度 | 备注 |\n| --- | --- | --- | --- | --- |"
+ for item in sorted(md_table_cn, key=lambda x: x[0]):
+ if category and m[int(item[0])]["category"] != category:
+ continue
+ items.append(
+ f"\n| {item[0]} | {item[1]} | {item[2]} | {item[3]} | {item[4]} |"
+ )
+ table_cn += "".join(items)
+
+ # generate README_EN.md
+ items = []
+ table_en = "\n| # | Solution | Tags | Difficulty | Remark |\n| --- | --- | --- | --- | --- |"
+ for item in sorted(md_table_en, key=lambda x: x[0]):
+ if category and m[int(item[0])]["category"] != category:
+ continue
+ items.append(
+ f"\n| {item[0]} | {item[1]} | {item[2]} | {item[3]} | {item[4]} |"
+ )
+ table_en += "".join(items)
+ path_prefix = category.upper() + "_" if category else ""
+ with open(f"./{path_prefix}README.md", "w", encoding="utf-8") as f:
+ f.write(
+ category_readme_cn.format(
+ category_dict.get(category, category), category.upper(), table_cn
+ )
+ )
+ with open(f"./{path_prefix}README_EN.md", "w", encoding="utf-8") as f:
+ f.write(category_readme_en.format(category, category.upper(), table_en))
+
+
 def refresh(result):
 """update problems"""
 pattern = re.compile('src="(.*?)"')
@@ -248,7 +330,7 @@ def refresh(result):
 )
 cn_content = cn_content.replace(url, new_url)
 
- cn_content = cn_content.replace('leetcode-cn.com', 'leetcode.cn')
+ cn_content = cn_content.replace("leetcode-cn.com", "leetcode.cn")
 with open(path_cn, "w", encoding="utf-8") as f1:
 f1.write(cn_content)
 

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