From d09c5f997b816ef714d36bc4c758b1f1de719895 Mon Sep 17 00:00:00 2001 From: yanglbme Date: Wed, 21 Aug 2024 12:25:35 +0800 Subject: [PATCH 1/3] feat: update lc problems --- .../0147.Insertion Sort List/README.md | 6 +- .../README.md | 10 +- .../0379.Design Phone Directory/README.md | 62 +++--- .../0391.Perfect Rectangle/README.md | 3 +- .../0391.Perfect Rectangle/README_EN.md | 3 +- .../0616.Add Bold Tag in String/README_EN.md | 2 +- .../0756.Pyramid Transition Matrix/README.md | 10 +- .../0758.Bold Words in String/README_EN.md | 2 +- .../1380.Lucky Numbers in a Matrix/README.md | 12 +- .../README.md | 1 + .../README_EN.md | 1 + .../2122.Recover the Original Array/README.md | 1 + .../README_EN.md | 1 + .../README_EN.md | 2 +- .../README.md | 3 +- .../README_EN.md | 3 +- .../README.md | 2 +- .../README_EN.md | 2 +- .../README.md | 2 +- .../README.md | 2 +- .../README_EN.md | 2 +- .../README.md | 48 ++--- .../README.md | 3 + .../README_EN.md | 3 + .../README.md | 3 + .../README_EN.md | 3 + .../README.md | 5 + .../README_EN.md | 5 + .../README.md | 5 + .../README_EN.md | 5 + .../README.md | 3 + .../README_EN.md | 3 + .../README.md | 3 + .../README_EN.md | 3 + .../README.md | 6 + .../README_EN.md | 6 + .../README.md | 6 + .../README_EN.md | 6 + .../3262.Find Overlapping Shifts/README.md | 179 ++++++++++++++++++ .../3262.Find Overlapping Shifts/README_EN.md | 179 ++++++++++++++++++ .../3262.Find Overlapping Shifts/Solution.py | 22 +++ .../3262.Find Overlapping Shifts/Solution.sql | 13 ++ solution/CONTEST_README.md | 1 - solution/CONTEST_README_EN.md | 1 - solution/DATABASE_README.md | 1 + solution/DATABASE_README_EN.md | 1 + solution/README.md | 28 +-- solution/README_EN.md | 26 +-- 48 files changed, 583 insertions(+), 116 deletions(-) create mode 100644 solution/3200-3299/3262.Find Overlapping Shifts/README.md create mode 100644 solution/3200-3299/3262.Find Overlapping Shifts/README_EN.md create mode 100644 solution/3200-3299/3262.Find Overlapping Shifts/Solution.py create mode 100644 solution/3200-3299/3262.Find Overlapping Shifts/Solution.sql diff --git a/solution/0100-0199/0147.Insertion Sort List/README.md b/solution/0100-0199/0147.Insertion Sort List/README.md index f70899b2e4c3b..5f9c2b84a6d09 100644 --- a/solution/0100-0199/0147.Insertion Sort List/README.md +++ b/solution/0100-0199/0147.Insertion Sort List/README.md @@ -31,13 +31,13 @@ tags:

对链表进行插入排序。

-

+

 

示例 1:

-

+

 输入: head = [4,2,1,3]
@@ -45,7 +45,7 @@ tags:
 
 

示例 2:

-

+

 输入: head = [-1,5,3,4,0]
diff --git a/solution/0200-0299/0208.Implement Trie (Prefix Tree)/README.md b/solution/0200-0299/0208.Implement Trie (Prefix Tree)/README.md
index 76481c3da5923..76c12ffdbb115 100644
--- a/solution/0200-0299/0208.Implement Trie (Prefix Tree)/README.md	
+++ b/solution/0200-0299/0208.Implement Trie (Prefix Tree)/README.md	
@@ -19,7 +19,7 @@ tags:
 
 
 
-

Trie(发音类似 "try")或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补完和拼写检查。

+

Trie(发音类似 "try")或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补全和拼写检查。

请你实现 Trie 类:

@@ -27,10 +27,10 @@ tags:
  • Trie() 初始化前缀树对象。
  • void insert(String word) 向前缀树中插入字符串 word
  • boolean search(String word) 如果字符串 word 在前缀树中,返回 true(即,在检索之前已经插入);否则,返回 false
  • -
  • boolean startsWith(String prefix) 如果之前已经插入的字符串 word 的前缀之一为 prefix ,返回 true ;否则,返回 false
  • +
  • boolean startsWith(String prefix) 如果之前已经插入的字符串 word 的前缀之一为 prefix ,返回 true ;否则,返回 false
  • -

     

    +

     

    示例:

    @@ -51,12 +51,12 @@ trie.insert("app"); trie.search("app"); // 返回 True
    -

     

    +

     

    提示:

    diff --git a/solution/0300-0399/0379.Design Phone Directory/README.md b/solution/0300-0399/0379.Design Phone Directory/README.md index 1b671e581f3d3..02ffb8f3b06a3 100644 --- a/solution/0300-0399/0379.Design Phone Directory/README.md +++ b/solution/0300-0399/0379.Design Phone Directory/README.md @@ -20,41 +20,37 @@ tags: -

    设计一个电话目录管理系统,让它支持以下功能:

    +

    设计一个电话目录管理系统,一开始有 maxNumbers 个位置能够储存号码。系统应该存储号码,检查某个位置是否为空,并清空给定的位置。

    -
      -
    1. get: 分配给用户一个未被使用的电话号码,获取失败请返回 -1
    2. -
    3. check: 检查指定的电话号码是否被使用
    4. -
    5. release: 释放掉一个电话号码,使其能够重新被分配
    6. -
    +

    实现 PhoneDirectory 类:

    -

     

    - -

    示例:

    - -
    // 初始化电话目录,包括 3 个电话号码:0,1 和 2。
    -PhoneDirectory directory = new PhoneDirectory(3);
    -
    -// 可以返回任意未分配的号码,这里我们假设它返回 0。
    -directory.get();
    -
    -// 假设,函数返回 1。
    -directory.get();
    -
    -// 号码 2 未分配,所以返回为 true。
    -directory.check(2);
    -
    -// 返回 2,分配后,只剩一个号码未被分配。
    -directory.get();
    -
    -// 此时,号码 2 已经被分配,所以返回 false。
    -directory.check(2);
    +
      +
    • PhoneDirectory(int maxNumbers) 电话目录初始有 maxNumbers 个可用位置。
    • +
    • int get() 提供一个未分配给任何人的号码。如果没有可用号码则返回 -1
    • +
    • bool check(int number) 如果位置 number 可用返回 true 否则返回 false
    • +
    • void release(int number) 回收或释放位置 number
    • +
    -// 释放号码 2,将该号码变回未分配状态。 -directory.release(2); +

     

    -// 号码 2 现在是未分配状态,所以返回 true。 -directory.check(2); +

    示例 1:

    + +
    +输入:
    +["PhoneDirectory", "get", "get", "check", "get", "check", "release", "check"]
    +[[3], [], [], [2], [], [2], [2], [2]]
    +输出:
    +[null, 0, 1, true, 2, false, null, true]
    +
    +解释:
    +PhoneDirectory phoneDirectory = new PhoneDirectory(3);
    +phoneDirectory.get();      // 它可以返回任意可用的数字。这里我们假设它返回 0。
    +phoneDirectory.get();      // 假设它返回 1。
    +phoneDirectory.check(2);   // 数字 2 可用,所以返回 true。
    +phoneDirectory.get();      // 返回剩下的唯一一个数字 2。
    +phoneDirectory.check(2);   // 数字 2 不再可用,所以返回 false。
    +phoneDirectory.release(2); // 将数字 2 释放回号码池。
    +phoneDirectory.check(2);   // 数字 2 重新可用,返回 true。
     

     

    @@ -62,9 +58,9 @@ directory.check(2);

    提示:

      -
    • 1 <= maxNumbers <= 10^4
    • +
    • 1 <= maxNumbers <= 104
    • 0 <= number < maxNumbers
    • -
    • 调用方法的总数处于区间 [0 - 20000] 之内
    • +
    • getcheck 和 release 最多被调用 2 * 104 次。
    diff --git a/solution/0300-0399/0391.Perfect Rectangle/README.md b/solution/0300-0399/0391.Perfect Rectangle/README.md index c69b02149e247..0292de82c3f31 100644 --- a/solution/0300-0399/0391.Perfect Rectangle/README.md +++ b/solution/0300-0399/0391.Perfect Rectangle/README.md @@ -51,7 +51,8 @@ tags:
    • 1 <= rectangles.length <= 2 * 104
    • rectangles[i].length == 4
    • -
    • -105 <= xi, yi, ai, bi <= 105
    • +
    • -105 <= xi < ai <= 105
    • +
    • -105 <= yi < bi <= 105
    diff --git a/solution/0300-0399/0391.Perfect Rectangle/README_EN.md b/solution/0300-0399/0391.Perfect Rectangle/README_EN.md index f10a51d190283..6c770c7548d75 100644 --- a/solution/0300-0399/0391.Perfect Rectangle/README_EN.md +++ b/solution/0300-0399/0391.Perfect Rectangle/README_EN.md @@ -52,7 +52,8 @@ tags:
    • 1 <= rectangles.length <= 2 * 104
    • rectangles[i].length == 4
    • -
    • -105 <= xi, yi, ai, bi <= 105
    • +
    • -105 <= xi < ai <= 105
    • +
    • -105 <= yi < bi <= 105
    diff --git a/solution/0600-0699/0616.Add Bold Tag in String/README_EN.md b/solution/0600-0699/0616.Add Bold Tag in String/README_EN.md index 46ddc02925e25..e369b1612c0de 100644 --- a/solution/0600-0699/0616.Add Bold Tag in String/README_EN.md +++ b/solution/0600-0699/0616.Add Bold Tag in String/README_EN.md @@ -66,7 +66,7 @@ Since now the four <b>'s are consecutive, we merge them: "<b&g

     

    -

    Note: This question is the same as 758: https://leetcode.com/problems/bold-words-in-string/

    +

    Note: This question is the same as 758. Bold Words in String.

    diff --git a/solution/0700-0799/0756.Pyramid Transition Matrix/README.md b/solution/0700-0799/0756.Pyramid Transition Matrix/README.md index d36c3fa612034..edc215cc36bfd 100644 --- a/solution/0700-0799/0756.Pyramid Transition Matrix/README.md +++ b/solution/0700-0799/0756.Pyramid Transition Matrix/README.md @@ -26,9 +26,9 @@ tags:
  • 例如,"ABC" 表示一个三角形图案,其中一个 “C” 块堆叠在一个 'A' 块(左)和一个 'B' 块(右)之上。请注意,这与 "BAC" 不同,"B" 在左下角,"A" 在右下角。
  • -

    你从底部的一排积木 bottom 开始,作为一个单一的字符串,你 必须 使用作为金字塔的底部。

    +

    你从作为单个字符串给出的底部的一排积木 bottom 开始,必须 将其作为金字塔的底部。

    -

    在给定 bottom 和 allowed 的情况下,如果你能一直构建到金字塔顶部,使金字塔中的 每个三角形图案 都是允许的,则返回 true ,否则返回 false

    +

    在给定 bottom 和 allowed 的情况下,如果你能一直构建到金字塔顶部,使金字塔中的 每个三角形图案 都是在 allowed 中的,则返回 true ,否则返回 false

     

    @@ -39,7 +39,7 @@ tags:
     输入:bottom = "BCD", allowed = ["BCC","CDE","CEA","FFF"]
     输出:true
    -解释:允许的三角形模式显示在右边。
    +解释:允许的三角形图案显示在右边。
     从最底层(第 3 层)开始,我们可以在第 2 层构建“CE”,然后在第 1 层构建“E”。
     金字塔中有三种三角形图案,分别是 “BCC”、“CDE” 和 “CEA”。都是允许的。
     
    @@ -51,8 +51,8 @@ tags:
     输入:bottom = "AAAA", allowed = ["AAB","AAC","BCD","BBE","DEF"]
     输出:false
    -解释:允许的三角形模式显示在右边。
    -从最底层(游戏邦注:即第 4 个关卡)开始,创造第 3 个关卡有多种方法,但如果尝试所有可能性,你便会在创造第 1 个关卡前陷入困境。
    +解释:允许的三角形图案显示在右边。
    +从最底层(即第 4 层)开始,创造第 3 层有多种方法,但如果尝试所有可能性,你便会在创造第 1 层前陷入困境。
     

     

    diff --git a/solution/0700-0799/0758.Bold Words in String/README_EN.md b/solution/0700-0799/0758.Bold Words in String/README_EN.md index 0dc44c2004298..a2c3b2603d8f8 100644 --- a/solution/0700-0799/0758.Bold Words in String/README_EN.md +++ b/solution/0700-0799/0758.Bold Words in String/README_EN.md @@ -51,7 +51,7 @@ tags:

     

    -

    Note: This question is the same as 616: https://leetcode.com/problems/add-bold-tag-in-string/

    +

    Note: This question is the same as 616. Add Bold Tag in String.

    diff --git a/solution/1300-1399/1380.Lucky Numbers in a Matrix/README.md b/solution/1300-1399/1380.Lucky Numbers in a Matrix/README.md index 9e1179eaedd60..76443f36dd12a 100644 --- a/solution/1300-1399/1380.Lucky Numbers in a Matrix/README.md +++ b/solution/1300-1399/1380.Lucky Numbers in a Matrix/README.md @@ -19,7 +19,7 @@ tags: -

    给你一个 m * n 的矩阵,矩阵中的数字 各不相同 。请你按 任意 顺序返回矩阵中的所有幸运数。

    +

    给你一个 m x n 的矩阵,矩阵中的数字 各不相同 。请你按 任意 顺序返回矩阵中的所有幸运数。

    幸运数 是指矩阵中满足同时下列两个条件的元素:

    @@ -30,7 +30,7 @@ tags:

     

    -

    示例 1:

    +

    示例 1:

     输入:matrix = [[3,7,8],[9,11,13],[15,16,17]]
    @@ -38,7 +38,7 @@ tags:
     解释:15 是唯一的幸运数,因为它是其所在行中的最小值,也是所在列中的最大值。
     
    -

    示例 2:

    +

    示例 2:

     输入:matrix = [[1,10,4,2],[9,3,8,7],[15,16,17,12]]
    @@ -46,12 +46,12 @@ tags:
     解释:12 是唯一的幸运数,因为它是其所在行中的最小值,也是所在列中的最大值。
     
    -

    示例 3:

    +

    示例 3:

     输入:matrix = [[7,8],[1,2]]
     输出:[7]
    -解释:7是唯一的幸运数字,因为它是行中的最小值,列中的最大值。
    +解释:7 是唯一的幸运数字,因为它是行中的最小值,列中的最大值。
     

     

    @@ -62,7 +62,7 @@ tags:
  • m == mat.length
  • n == mat[i].length
  • 1 <= n, m <= 50
  • -
  • 1 <= matrix[i][j] <= 10^5
  • +
  • 1 <= matrix[i][j] <= 105
  • 矩阵中的所有元素都是不同的
  • diff --git a/solution/1900-1999/1937.Maximum Number of Points with Cost/README.md b/solution/1900-1999/1937.Maximum Number of Points with Cost/README.md index 3d7c0c60e402c..b81992770f5bc 100644 --- a/solution/1900-1999/1937.Maximum Number of Points with Cost/README.md +++ b/solution/1900-1999/1937.Maximum Number of Points with Cost/README.md @@ -7,6 +7,7 @@ source: 第 250 场周赛 Q3 tags: - 数组 - 动态规划 + - 矩阵 --- diff --git a/solution/1900-1999/1937.Maximum Number of Points with Cost/README_EN.md b/solution/1900-1999/1937.Maximum Number of Points with Cost/README_EN.md index 94be6938d7f0a..f2ca388eb3cff 100644 --- a/solution/1900-1999/1937.Maximum Number of Points with Cost/README_EN.md +++ b/solution/1900-1999/1937.Maximum Number of Points with Cost/README_EN.md @@ -7,6 +7,7 @@ source: Weekly Contest 250 Q3 tags: - Array - Dynamic Programming + - Matrix --- diff --git a/solution/2100-2199/2122.Recover the Original Array/README.md b/solution/2100-2199/2122.Recover the Original Array/README.md index 958bb9fda7038..c23dc5f4956cd 100644 --- a/solution/2100-2199/2122.Recover the Original Array/README.md +++ b/solution/2100-2199/2122.Recover the Original Array/README.md @@ -7,6 +7,7 @@ source: 第 273 场周赛 Q4 tags: - 数组 - 哈希表 + - 双指针 - 枚举 - 排序 --- diff --git a/solution/2100-2199/2122.Recover the Original Array/README_EN.md b/solution/2100-2199/2122.Recover the Original Array/README_EN.md index b96a6c1b200ba..1e91a07ee2b4c 100644 --- a/solution/2100-2199/2122.Recover the Original Array/README_EN.md +++ b/solution/2100-2199/2122.Recover the Original Array/README_EN.md @@ -7,6 +7,7 @@ source: Weekly Contest 273 Q4 tags: - Array - Hash Table + - Two Pointers - Enumeration - Sorting --- diff --git a/solution/2300-2399/2324.Product Sales Analysis IV/README_EN.md b/solution/2300-2399/2324.Product Sales Analysis IV/README_EN.md index 0cb4d7d3160c7..980157a73f550 100644 --- a/solution/2300-2399/2324.Product Sales Analysis IV/README_EN.md +++ b/solution/2300-2399/2324.Product Sales Analysis IV/README_EN.md @@ -94,7 +94,7 @@ User 101: - Spent 7 * 15 = 105 on product 3. User 101 spent the most money on product 3. User 102: - - Spent (9 + 7) * 10 = 150 on product 1. + - Spent (9 + 6) * 10 = 150 on product 1. - Spent 6 * 25 = 150 on product 2. - Spent 10 * 15 = 150 on product 3. User 102 spent the most money on products 1, 2, and 3. diff --git a/solution/2800-2899/2863.Maximum Length of Semi-Decreasing Subarrays/README.md b/solution/2800-2899/2863.Maximum Length of Semi-Decreasing Subarrays/README.md index dbf5509786a4e..c12c29a77c75f 100644 --- a/solution/2800-2899/2863.Maximum Length of Semi-Decreasing Subarrays/README.md +++ b/solution/2800-2899/2863.Maximum Length of Semi-Decreasing Subarrays/README.md @@ -3,9 +3,10 @@ comments: true difficulty: 中等 edit_url: https://github.com/doocs/leetcode/edit/main/solution/2800-2899/2863.Maximum%20Length%20of%20Semi-Decreasing%20Subarrays/README.md tags: + - 栈 - 数组 - - 哈希表 - 排序 + - 单调栈 --- diff --git a/solution/2800-2899/2863.Maximum Length of Semi-Decreasing Subarrays/README_EN.md b/solution/2800-2899/2863.Maximum Length of Semi-Decreasing Subarrays/README_EN.md index e105f445388c4..ade4347e4ff3e 100644 --- a/solution/2800-2899/2863.Maximum Length of Semi-Decreasing Subarrays/README_EN.md +++ b/solution/2800-2899/2863.Maximum Length of Semi-Decreasing Subarrays/README_EN.md @@ -3,9 +3,10 @@ comments: true difficulty: Medium edit_url: https://github.com/doocs/leetcode/edit/main/solution/2800-2899/2863.Maximum%20Length%20of%20Semi-Decreasing%20Subarrays/README_EN.md tags: + - Stack - Array - - Hash Table - Sorting + - Monotonic Stack --- diff --git a/solution/2900-2999/2992.Number of Self-Divisible Permutations/README.md b/solution/2900-2999/2992.Number of Self-Divisible Permutations/README.md index 4aad8e74116f9..b87df04d77b9d 100644 --- a/solution/2900-2999/2992.Number of Self-Divisible Permutations/README.md +++ b/solution/2900-2999/2992.Number of Self-Divisible Permutations/README.md @@ -4,9 +4,9 @@ difficulty: 中等 edit_url: https://github.com/doocs/leetcode/edit/main/solution/2900-2999/2992.Number%20of%20Self-Divisible%20Permutations/README.md tags: - 位运算 - - 递归 - 数组 - 动态规划 + - 回溯 - 状态压缩 --- diff --git a/solution/2900-2999/2992.Number of Self-Divisible Permutations/README_EN.md b/solution/2900-2999/2992.Number of Self-Divisible Permutations/README_EN.md index e00b54a2c7e66..1f3deec3b736b 100644 --- a/solution/2900-2999/2992.Number of Self-Divisible Permutations/README_EN.md +++ b/solution/2900-2999/2992.Number of Self-Divisible Permutations/README_EN.md @@ -4,9 +4,9 @@ difficulty: Medium edit_url: https://github.com/doocs/leetcode/edit/main/solution/2900-2999/2992.Number%20of%20Self-Divisible%20Permutations/README_EN.md tags: - Bit Manipulation - - Recursion - Array - Dynamic Programming + - Backtracking - Bitmask --- diff --git a/solution/3200-3299/3229.Minimum Operations to Make Array Equal to Target/README.md b/solution/3200-3299/3229.Minimum Operations to Make Array Equal to Target/README.md index 97d1002d0ad32..b6254c4de823b 100644 --- a/solution/3200-3299/3229.Minimum Operations to Make Array Equal to Target/README.md +++ b/solution/3200-3299/3229.Minimum Operations to Make Array Equal to Target/README.md @@ -22,7 +22,7 @@ tags:

    给你两个长度相同的正整数数组 numstarget

    -

    在一次操作中,你可以选择 nums 的任何子数组,并将该子数组内的每个元素的值增加或减少 1。

    +

    在一次操作中,你可以选择 nums 的任何子数组,并将该子数组内的每个元素的值增加或减少 1。

    返回使 nums 数组变为 target 数组所需的 最少 操作次数。

    diff --git a/solution/3200-3299/3247.Number of Subsequences with Odd Sum/README.md b/solution/3200-3299/3247.Number of Subsequences with Odd Sum/README.md index b7a32c06fa19d..a601420ffda1e 100644 --- a/solution/3200-3299/3247.Number of Subsequences with Odd Sum/README.md +++ b/solution/3200-3299/3247.Number of Subsequences with Odd Sum/README.md @@ -54,7 +54,7 @@ tags:

    提示:

      -
    • 1 <= nums.lnegth <= 105
    • +
    • 1 <= nums.length <= 105
    • 1 <= nums[i] <= 109
    diff --git a/solution/3200-3299/3247.Number of Subsequences with Odd Sum/README_EN.md b/solution/3200-3299/3247.Number of Subsequences with Odd Sum/README_EN.md index 91342e9a0b9e3..f294a17bc290f 100644 --- a/solution/3200-3299/3247.Number of Subsequences with Odd Sum/README_EN.md +++ b/solution/3200-3299/3247.Number of Subsequences with Odd Sum/README_EN.md @@ -52,7 +52,7 @@ tags:

    Constraints:

      -
    • 1 <= nums.lnegth <= 105
    • +
    • 1 <= nums.length <= 105
    • 1 <= nums[i] <= 109
    diff --git a/solution/3200-3299/3253.Construct String with Minimum Cost (Easy)/README.md b/solution/3200-3299/3253.Construct String with Minimum Cost (Easy)/README.md index 6fa7adf713e91..fc855a4c5b4f8 100644 --- a/solution/3200-3299/3253.Construct String with Minimum Cost (Easy)/README.md +++ b/solution/3200-3299/3253.Construct String with Minimum Cost (Easy)/README.md @@ -6,7 +6,7 @@ edit_url: https://github.com/doocs/leetcode/edit/main/solution/3200-3299/3253.Co -# [3253. Construct String with Minimum Cost (Easy) 🔒](https://leetcode.cn/problems/construct-string-with-minimum-cost-easy) +# [3253. 以最低成本构建字符串(简单) 🔒](https://leetcode.cn/problems/construct-string-with-minimum-cost-easy) [English Version](/solution/3200-3299/3253.Construct%20String%20with%20Minimum%20Cost%20%28Easy%29/README_EN.md) @@ -14,59 +14,61 @@ edit_url: https://github.com/doocs/leetcode/edit/main/solution/3200-3299/3253.Co -

    You are given a string target, an array of strings words, and an integer array costs, both arrays of the same length.

    +

    给定字符串 target,一个字符串数组 words 以及一个整数数组 costs,两个数组长度相同。

    -

    Imagine an empty string s.

    +

    想象一个空字符串 s

    -

    You can perform the following operation any number of times (including zero):

    +

    您可以执行以下操作任意次数(包括 ):

      -
    • Choose an index i in the range [0, words.length - 1].
    • -
    • Append words[i] to s.
    • -
    • The cost of operation is costs[i].
    • +
    • 从范围 [0, words.length - 1] 中选择一个下标 i
    • +
    • 将 words[i] 添加到 s
    • +
    • 操作的开销为 costs[i]
    -

    Return the minimum cost to make s equal to target. If it's not possible, return -1.

    +

    返回使 s 与 target 相等的 最小 开销。如果不可能做到,返回 -1。

     

    -

    Example 1:

    + +

    示例 1:

    -

    Input: target = "abcdef", words = ["abdef","abc","d","def","ef"], costs = [100,1,1,10,5]

    +

    输入:target = "abcdef", words = ["abdef","abc","d","def","ef"], costs = [100,1,1,10,5]

    -

    Output: 7

    +

    输出:7

    -

    Explanation:

    +

    解释:

    -

    The minimum cost can be achieved by performing the following operations:

    +

    通过执行以下操作可以实现最低开销:

      -
    • Select index 1 and append "abc" to s at a cost of 1, resulting in s = "abc".
    • -
    • Select index 2 and append "d" to s at a cost of 1, resulting in s = "abcd".
    • -
    • Select index 4 and append "ef" to s at a cost of 5, resulting in s = "abcdef".
    • +
    • 选择下标 1 然后以 1 的开销将 "abc" 添加到 s,得到 s = "abc"
    • +
    • 选择下标 2 然后以 1 的开销将 "d" 添加到 s,得到 s = "abcd"
    • +
    • 选择下标 4 然后以 5 的开销将 "ef" 添加到 s,得到 s = "abcdef"
    -

    Example 2:

    +

    示例 2:

    -

    Input: target = "aaaa", words = ["z","zz","zzz"], costs = [1,10,100]

    +

    输入:target = "aaaa", words = ["z","zz","zzz"], costs = [1,10,100]

    -

    Output: -1

    +

    输出:-1

    -

    Explanation:

    +

    解释:

    -

    It is impossible to make s equal to target, so we return -1.

    +

    不可能使 s 与 target 相等,所以我们返回 -1。

     

    -

    Constraints:

    + +

    提示:

    • 1 <= target.length <= 2000
    • 1 <= words.length == costs.length <= 50
    • 1 <= words[i].length <= target.length
    • -
    • target and words[i] consist only of lowercase English letters.
    • +
    • target 和 words[i] 只包含小写英语字母。
    • 1 <= costs[i] <= 105
    diff --git a/solution/3200-3299/3254.Find the Power of K-Size Subarrays I/README.md b/solution/3200-3299/3254.Find the Power of K-Size Subarrays I/README.md index 7bccf0c7baff4..5e0ed741c9664 100644 --- a/solution/3200-3299/3254.Find the Power of K-Size Subarrays I/README.md +++ b/solution/3200-3299/3254.Find the Power of K-Size Subarrays I/README.md @@ -2,6 +2,9 @@ comments: true difficulty: 中等 edit_url: https://github.com/doocs/leetcode/edit/main/solution/3200-3299/3254.Find%20the%20Power%20of%20K-Size%20Subarrays%20I/README.md +tags: + - 数组 + - 滑动窗口 --- diff --git a/solution/3200-3299/3254.Find the Power of K-Size Subarrays I/README_EN.md b/solution/3200-3299/3254.Find the Power of K-Size Subarrays I/README_EN.md index 01eb65c90612d..d14f9690c0677 100644 --- a/solution/3200-3299/3254.Find the Power of K-Size Subarrays I/README_EN.md +++ b/solution/3200-3299/3254.Find the Power of K-Size Subarrays I/README_EN.md @@ -2,6 +2,9 @@ comments: true difficulty: Medium edit_url: https://github.com/doocs/leetcode/edit/main/solution/3200-3299/3254.Find%20the%20Power%20of%20K-Size%20Subarrays%20I/README_EN.md +tags: + - Array + - Sliding Window --- diff --git a/solution/3200-3299/3255.Find the Power of K-Size Subarrays II/README.md b/solution/3200-3299/3255.Find the Power of K-Size Subarrays II/README.md index b2112dc42e585..422c9cc3b87bd 100644 --- a/solution/3200-3299/3255.Find the Power of K-Size Subarrays II/README.md +++ b/solution/3200-3299/3255.Find the Power of K-Size Subarrays II/README.md @@ -2,6 +2,9 @@ comments: true difficulty: 中等 edit_url: https://github.com/doocs/leetcode/edit/main/solution/3200-3299/3255.Find%20the%20Power%20of%20K-Size%20Subarrays%20II/README.md +tags: + - 数组 + - 滑动窗口 --- diff --git a/solution/3200-3299/3255.Find the Power of K-Size Subarrays II/README_EN.md b/solution/3200-3299/3255.Find the Power of K-Size Subarrays II/README_EN.md index 2ff13994a4097..88568b364fafa 100644 --- a/solution/3200-3299/3255.Find the Power of K-Size Subarrays II/README_EN.md +++ b/solution/3200-3299/3255.Find the Power of K-Size Subarrays II/README_EN.md @@ -2,6 +2,9 @@ comments: true difficulty: Medium edit_url: https://github.com/doocs/leetcode/edit/main/solution/3200-3299/3255.Find%20the%20Power%20of%20K-Size%20Subarrays%20II/README_EN.md +tags: + - Array + - Sliding Window --- diff --git a/solution/3200-3299/3256.Maximum Value Sum by Placing Three Rooks I/README.md b/solution/3200-3299/3256.Maximum Value Sum by Placing Three Rooks I/README.md index 5ea0394d5eb16..f6cfac2c53ddf 100644 --- a/solution/3200-3299/3256.Maximum Value Sum by Placing Three Rooks I/README.md +++ b/solution/3200-3299/3256.Maximum Value Sum by Placing Three Rooks I/README.md @@ -2,6 +2,11 @@ comments: true difficulty: 困难 edit_url: https://github.com/doocs/leetcode/edit/main/solution/3200-3299/3256.Maximum%20Value%20Sum%20by%20Placing%20Three%20Rooks%20I/README.md +tags: + - 数组 + - 动态规划 + - 枚举 + - 矩阵 --- diff --git a/solution/3200-3299/3256.Maximum Value Sum by Placing Three Rooks I/README_EN.md b/solution/3200-3299/3256.Maximum Value Sum by Placing Three Rooks I/README_EN.md index f731f10aed8a9..019630a4cf3c4 100644 --- a/solution/3200-3299/3256.Maximum Value Sum by Placing Three Rooks I/README_EN.md +++ b/solution/3200-3299/3256.Maximum Value Sum by Placing Three Rooks I/README_EN.md @@ -2,6 +2,11 @@ comments: true difficulty: Hard edit_url: https://github.com/doocs/leetcode/edit/main/solution/3200-3299/3256.Maximum%20Value%20Sum%20by%20Placing%20Three%20Rooks%20I/README_EN.md +tags: + - Array + - Dynamic Programming + - Enumeration + - Matrix --- diff --git a/solution/3200-3299/3257.Maximum Value Sum by Placing Three Rooks II/README.md b/solution/3200-3299/3257.Maximum Value Sum by Placing Three Rooks II/README.md index 4275e0f063b65..7085075b244d8 100644 --- a/solution/3200-3299/3257.Maximum Value Sum by Placing Three Rooks II/README.md +++ b/solution/3200-3299/3257.Maximum Value Sum by Placing Three Rooks II/README.md @@ -2,6 +2,11 @@ comments: true difficulty: 困难 edit_url: https://github.com/doocs/leetcode/edit/main/solution/3200-3299/3257.Maximum%20Value%20Sum%20by%20Placing%20Three%20Rooks%20II/README.md +tags: + - 数组 + - 动态规划 + - 枚举 + - 矩阵 --- diff --git a/solution/3200-3299/3257.Maximum Value Sum by Placing Three Rooks II/README_EN.md b/solution/3200-3299/3257.Maximum Value Sum by Placing Three Rooks II/README_EN.md index 0ec53a3fb877c..8df098939619b 100644 --- a/solution/3200-3299/3257.Maximum Value Sum by Placing Three Rooks II/README_EN.md +++ b/solution/3200-3299/3257.Maximum Value Sum by Placing Three Rooks II/README_EN.md @@ -2,6 +2,11 @@ comments: true difficulty: Hard edit_url: https://github.com/doocs/leetcode/edit/main/solution/3200-3299/3257.Maximum%20Value%20Sum%20by%20Placing%20Three%20Rooks%20II/README_EN.md +tags: + - Array + - Dynamic Programming + - Enumeration + - Matrix --- diff --git a/solution/3200-3299/3258.Count Substrings That Satisfy K-Constraint I/README.md b/solution/3200-3299/3258.Count Substrings That Satisfy K-Constraint I/README.md index ec9250c5d7b95..23858ac32a0a7 100644 --- a/solution/3200-3299/3258.Count Substrings That Satisfy K-Constraint I/README.md +++ b/solution/3200-3299/3258.Count Substrings That Satisfy K-Constraint I/README.md @@ -2,6 +2,9 @@ comments: true difficulty: 简单 edit_url: https://github.com/doocs/leetcode/edit/main/solution/3200-3299/3258.Count%20Substrings%20That%20Satisfy%20K-Constraint%20I/README.md +tags: + - 字符串 + - 滑动窗口 --- diff --git a/solution/3200-3299/3258.Count Substrings That Satisfy K-Constraint I/README_EN.md b/solution/3200-3299/3258.Count Substrings That Satisfy K-Constraint I/README_EN.md index 6184ebfd23b1d..b307a649978fe 100644 --- a/solution/3200-3299/3258.Count Substrings That Satisfy K-Constraint I/README_EN.md +++ b/solution/3200-3299/3258.Count Substrings That Satisfy K-Constraint I/README_EN.md @@ -2,6 +2,9 @@ comments: true difficulty: Easy edit_url: https://github.com/doocs/leetcode/edit/main/solution/3200-3299/3258.Count%20Substrings%20That%20Satisfy%20K-Constraint%20I/README_EN.md +tags: + - String + - Sliding Window --- diff --git a/solution/3200-3299/3259.Maximum Energy Boost From Two Drinks/README.md b/solution/3200-3299/3259.Maximum Energy Boost From Two Drinks/README.md index a67c4da79fa45..f3dd8d9e8023e 100644 --- a/solution/3200-3299/3259.Maximum Energy Boost From Two Drinks/README.md +++ b/solution/3200-3299/3259.Maximum Energy Boost From Two Drinks/README.md @@ -2,6 +2,9 @@ comments: true difficulty: 中等 edit_url: https://github.com/doocs/leetcode/edit/main/solution/3200-3299/3259.Maximum%20Energy%20Boost%20From%20Two%20Drinks/README.md +tags: + - 数组 + - 动态规划 --- diff --git a/solution/3200-3299/3259.Maximum Energy Boost From Two Drinks/README_EN.md b/solution/3200-3299/3259.Maximum Energy Boost From Two Drinks/README_EN.md index 994ac6e608ab3..1a78c451360a3 100644 --- a/solution/3200-3299/3259.Maximum Energy Boost From Two Drinks/README_EN.md +++ b/solution/3200-3299/3259.Maximum Energy Boost From Two Drinks/README_EN.md @@ -2,6 +2,9 @@ comments: true difficulty: Medium edit_url: https://github.com/doocs/leetcode/edit/main/solution/3200-3299/3259.Maximum%20Energy%20Boost%20From%20Two%20Drinks/README_EN.md +tags: + - Array + - Dynamic Programming --- diff --git a/solution/3200-3299/3260.Find the Largest Palindrome Divisible by K/README.md b/solution/3200-3299/3260.Find the Largest Palindrome Divisible by K/README.md index ef06880541506..7e841a3a1cd07 100644 --- a/solution/3200-3299/3260.Find the Largest Palindrome Divisible by K/README.md +++ b/solution/3200-3299/3260.Find the Largest Palindrome Divisible by K/README.md @@ -2,6 +2,12 @@ comments: true difficulty: 困难 edit_url: https://github.com/doocs/leetcode/edit/main/solution/3200-3299/3260.Find%20the%20Largest%20Palindrome%20Divisible%20by%20K/README.md +tags: + - 贪心 + - 数学 + - 字符串 + - 动态规划 + - 数论 --- diff --git a/solution/3200-3299/3260.Find the Largest Palindrome Divisible by K/README_EN.md b/solution/3200-3299/3260.Find the Largest Palindrome Divisible by K/README_EN.md index 0101e9258ee87..c66da0f3ff631 100644 --- a/solution/3200-3299/3260.Find the Largest Palindrome Divisible by K/README_EN.md +++ b/solution/3200-3299/3260.Find the Largest Palindrome Divisible by K/README_EN.md @@ -2,6 +2,12 @@ comments: true difficulty: Hard edit_url: https://github.com/doocs/leetcode/edit/main/solution/3200-3299/3260.Find%20the%20Largest%20Palindrome%20Divisible%20by%20K/README_EN.md +tags: + - Greedy + - Math + - String + - Dynamic Programming + - Number Theory --- diff --git a/solution/3200-3299/3261.Count Substrings That Satisfy K-Constraint II/README.md b/solution/3200-3299/3261.Count Substrings That Satisfy K-Constraint II/README.md index 424b72457134b..395d723ee3f9d 100644 --- a/solution/3200-3299/3261.Count Substrings That Satisfy K-Constraint II/README.md +++ b/solution/3200-3299/3261.Count Substrings That Satisfy K-Constraint II/README.md @@ -2,6 +2,12 @@ comments: true difficulty: 困难 edit_url: https://github.com/doocs/leetcode/edit/main/solution/3200-3299/3261.Count%20Substrings%20That%20Satisfy%20K-Constraint%20II/README.md +tags: + - 数组 + - 字符串 + - 二分查找 + - 前缀和 + - 滑动窗口 --- diff --git a/solution/3200-3299/3261.Count Substrings That Satisfy K-Constraint II/README_EN.md b/solution/3200-3299/3261.Count Substrings That Satisfy K-Constraint II/README_EN.md index f5c8ec13944a7..5e6192606234e 100644 --- a/solution/3200-3299/3261.Count Substrings That Satisfy K-Constraint II/README_EN.md +++ b/solution/3200-3299/3261.Count Substrings That Satisfy K-Constraint II/README_EN.md @@ -2,6 +2,12 @@ comments: true difficulty: Hard edit_url: https://github.com/doocs/leetcode/edit/main/solution/3200-3299/3261.Count%20Substrings%20That%20Satisfy%20K-Constraint%20II/README_EN.md +tags: + - Array + - String + - Binary Search + - Prefix Sum + - Sliding Window --- diff --git a/solution/3200-3299/3262.Find Overlapping Shifts/README.md b/solution/3200-3299/3262.Find Overlapping Shifts/README.md new file mode 100644 index 0000000000000..d25d83995a4be --- /dev/null +++ b/solution/3200-3299/3262.Find Overlapping Shifts/README.md @@ -0,0 +1,179 @@ +--- +comments: true +difficulty: 中等 +edit_url: https://github.com/doocs/leetcode/edit/main/solution/3200-3299/3262.Find%20Overlapping%20Shifts/README.md +tags: + - 数据库 +--- + + + +# [3262. Find Overlapping Shifts 🔒](https://leetcode.cn/problems/find-overlapping-shifts) + +[English Version](/solution/3200-3299/3262.Find%20Overlapping%20Shifts/README_EN.md) + +## 题目描述 + + + +

    Table: EmployeeShifts

    + +
    ++------------------+---------+
    +| Column Name      | Type    |
    ++------------------+---------+
    +| employee_id      | int     |
    +| start_time       | time    |
    +| end_time         | time    |
    ++------------------+---------+
    +(employee_id, start_time) is the unique key for this table.
    +This table contains information about the shifts worked by employees, including the start and end times on a specific date.
    +
    + +

    Write a solution to count the number of overlapping shifts for each employee. Two shifts are considered overlapping if one shift’s end_time is later than another shift’s start_time.

    + +

    Return the result table ordered by employee_id in ascending order.

    + +

    The query result format is in the following example.

    + +

     

    +

    Example:

    + +
    +

    Input:

    + +

    EmployeeShifts table:

    + +
    ++-------------+------------+----------+
    +| employee_id | start_time | end_time |
    ++-------------+------------+----------+
    +| 1           | 08:00:00   | 12:00:00 |
    +| 1           | 11:00:00   | 15:00:00 |
    +| 1           | 14:00:00   | 18:00:00 |
    +| 2           | 09:00:00   | 17:00:00 |
    +| 2           | 16:00:00   | 20:00:00 |
    +| 3           | 10:00:00   | 12:00:00 |
    +| 3           | 13:00:00   | 15:00:00 |
    +| 3           | 16:00:00   | 18:00:00 |
    +| 4           | 08:00:00   | 10:00:00 |
    +| 4           | 09:00:00   | 11:00:00 |
    ++-------------+------------+----------+
    +
    + +

    Output:

    + +
    ++-------------+--------------------+
    +| employee_id | overlapping_shifts |
    ++-------------+--------------------+
    +| 1           | 2                  |
    +| 2           | 1                  |
    +| 4           | 1                  |
    ++-------------+--------------------+
    +
    + +

    Explanation:

    + +
      +
    • Employee 1 has 3 shifts: +
        +
      • 08:00:00 to 12:00:00
      • +
      • 11:00:00 to 15:00:00
      • +
      • 14:00:00 to 18:00:00
      • +
      + The first shift overlaps with the second, and the second overlaps with the third, resulting in 2 overlapping shifts.
    • +
    • Employee 2 has 2 shifts: +
        +
      • 09:00:00 to 17:00:00
      • +
      • 16:00:00 to 20:00:00
      • +
      + These shifts overlap with each other, resulting in 1 overlapping shift.
    • +
    • Employee 3 has 3 shifts: +
        +
      • 10:00:00 to 12:00:00
      • +
      • 13:00:00 to 15:00:00
      • +
      • 16:00:00 to 18:00:00
      • +
      + None of these shifts overlap, so Employee 3 is not included in the output.
    • +
    • Employee 4 has 2 shifts: +
        +
      • 08:00:00 to 10:00:00
      • +
      • 09:00:00 to 11:00:00
      • +
      + These shifts overlap with each other, resulting in 1 overlapping shift.
    • +
    + +

    The output shows the employee_id and the count of overlapping shifts for each employee who has at least one overlapping shift, ordered by employee_id in ascending order.

    +
    + + + +## 解法 + + + +### 方法一:自连接 + 分组计数 + +我们首先使用自连接,将 `EmployeeShifts` 表连接自身。通过连接条件,确保只比较同一个员工的班次,并且检查班次之间是否存在重叠。 + +1. `t1.start_time < t2.end_time`:确保第一个班次的开始时间早于第二个班次的结束时间。 +1. `t1.end_time > t2.start_time`:确保第一个班次的结束时间晚于第二个班次的开始时间。 +1. `t1.start_time != t2.start_time`:避免班次与自身比较。 + +接下来,我们对数据按照 `employee_id` 进行分组,统计每个员工的重叠班次数量。这里我们将重叠班次数量除以 2,因为我们在自连接时,每个重叠的班次都会被计算两次。 + +最后,我们筛选出重叠班次数量大于 0 的员工,并按照 `employee_id` 进行升序排序。 + + + +#### MySQL + +```sql +SELECT + t1.employee_id, + COUNT(*) / 2 AS overlapping_shifts +FROM + EmployeeShifts t1 + JOIN EmployeeShifts t2 + ON t1.employee_id = t2.employee_id + AND t1.start_time < t2.end_time + AND t1.end_time > t2.start_time + AND t1.start_time != t2.start_time +GROUP BY 1 +HAVING overlapping_shifts > 0 +ORDER BY 1; +``` + +#### Pandas + +```python +import pandas as pd + + +def find_overlapping_shifts(employee_shifts: pd.DataFrame) -> pd.DataFrame: + merged = employee_shifts.merge( + employee_shifts, on="employee_id", suffixes=("_1", "_2") + ) + overlap = merged[ + (merged["start_time_1"] < merged["end_time_2"]) + & (merged["end_time_1"] > merged["start_time_2"]) + & (merged["start_time_1"] != merged["start_time_2"]) + ] + overlap_counts = ( + overlap.groupby("employee_id").size().reset_index(name="overlapping_shifts") + ) + overlap_counts["overlapping_shifts"] = overlap_counts["overlapping_shifts"] // 2 + result = ( + overlap_counts[overlap_counts["overlapping_shifts"] > 0] + .sort_values("employee_id") + .reset_index(drop=True) + ) + return result +``` + + + + + + diff --git a/solution/3200-3299/3262.Find Overlapping Shifts/README_EN.md b/solution/3200-3299/3262.Find Overlapping Shifts/README_EN.md new file mode 100644 index 0000000000000..8ea50dd6938a4 --- /dev/null +++ b/solution/3200-3299/3262.Find Overlapping Shifts/README_EN.md @@ -0,0 +1,179 @@ +--- +comments: true +difficulty: Medium +edit_url: https://github.com/doocs/leetcode/edit/main/solution/3200-3299/3262.Find%20Overlapping%20Shifts/README_EN.md +tags: + - Database +--- + + + +# [3262. Find Overlapping Shifts 🔒](https://leetcode.com/problems/find-overlapping-shifts) + +[中文文档](/solution/3200-3299/3262.Find%20Overlapping%20Shifts/README.md) + +## Description + + + +

    Table: EmployeeShifts

    + +
    ++------------------+---------+
    +| Column Name      | Type    |
    ++------------------+---------+
    +| employee_id      | int     |
    +| start_time       | time    |
    +| end_time         | time    |
    ++------------------+---------+
    +(employee_id, start_time) is the unique key for this table.
    +This table contains information about the shifts worked by employees, including the start and end times on a specific date.
    +
    + +

    Write a solution to count the number of overlapping shifts for each employee. Two shifts are considered overlapping if one shift’s end_time is later than another shift’s start_time.

    + +

    Return the result table ordered by employee_id in ascending order.

    + +

    The query result format is in the following example.

    + +

     

    +

    Example:

    + +
    +

    Input:

    + +

    EmployeeShifts table:

    + +
    ++-------------+------------+----------+
    +| employee_id | start_time | end_time |
    ++-------------+------------+----------+
    +| 1           | 08:00:00   | 12:00:00 |
    +| 1           | 11:00:00   | 15:00:00 |
    +| 1           | 14:00:00   | 18:00:00 |
    +| 2           | 09:00:00   | 17:00:00 |
    +| 2           | 16:00:00   | 20:00:00 |
    +| 3           | 10:00:00   | 12:00:00 |
    +| 3           | 13:00:00   | 15:00:00 |
    +| 3           | 16:00:00   | 18:00:00 |
    +| 4           | 08:00:00   | 10:00:00 |
    +| 4           | 09:00:00   | 11:00:00 |
    ++-------------+------------+----------+
    +
    + +

    Output:

    + +
    ++-------------+--------------------+
    +| employee_id | overlapping_shifts |
    ++-------------+--------------------+
    +| 1           | 2                  |
    +| 2           | 1                  |
    +| 4           | 1                  |
    ++-------------+--------------------+
    +
    + +

    Explanation:

    + +
      +
    • Employee 1 has 3 shifts: +
        +
      • 08:00:00 to 12:00:00
      • +
      • 11:00:00 to 15:00:00
      • +
      • 14:00:00 to 18:00:00
      • +
      + The first shift overlaps with the second, and the second overlaps with the third, resulting in 2 overlapping shifts.
    • +
    • Employee 2 has 2 shifts: +
        +
      • 09:00:00 to 17:00:00
      • +
      • 16:00:00 to 20:00:00
      • +
      + These shifts overlap with each other, resulting in 1 overlapping shift.
    • +
    • Employee 3 has 3 shifts: +
        +
      • 10:00:00 to 12:00:00
      • +
      • 13:00:00 to 15:00:00
      • +
      • 16:00:00 to 18:00:00
      • +
      + None of these shifts overlap, so Employee 3 is not included in the output.
    • +
    • Employee 4 has 2 shifts: +
        +
      • 08:00:00 to 10:00:00
      • +
      • 09:00:00 to 11:00:00
      • +
      + These shifts overlap with each other, resulting in 1 overlapping shift.
    • +
    + +

    The output shows the employee_id and the count of overlapping shifts for each employee who has at least one overlapping shift, ordered by employee_id in ascending order.

    +
    + + + +## Solutions + + + +### Solution 1: Self-Join + Group Count + +We start by using a self-join to join the `EmployeeShifts` table with itself. The join condition ensures that only shifts of the same employee are compared, and checks if there is any overlap between the shifts. + +1. `t1.start_time < t2.end_time`: Ensures that the start time of the first shift is earlier than the end time of the second shift. +2. `t1.end_time > t2.start_time`: Ensures that the end time of the first shift is later than the start time of the second shift. +3. `t1.start_time != t2.start_time`: Avoids comparing a shift with itself. + +Next, we group the data by `employee_id` and count the number of overlapping shifts for each employee. We divide the count by 2 because each overlap is counted twice in the self-join. + +Finally, we filter out employees with an overlapping shift count greater than 0 and sort the results in ascending order by `employee_id`. + + + +#### MySQL + +```sql +SELECT + t1.employee_id, + COUNT(*) / 2 AS overlapping_shifts +FROM + EmployeeShifts t1 + JOIN EmployeeShifts t2 + ON t1.employee_id = t2.employee_id + AND t1.start_time < t2.end_time + AND t1.end_time > t2.start_time + AND t1.start_time != t2.start_time +GROUP BY 1 +HAVING overlapping_shifts > 0 +ORDER BY 1; +``` + +#### Pandas + +```python +import pandas as pd + + +def find_overlapping_shifts(employee_shifts: pd.DataFrame) -> pd.DataFrame: + merged = employee_shifts.merge( + employee_shifts, on="employee_id", suffixes=("_1", "_2") + ) + overlap = merged[ + (merged["start_time_1"] < merged["end_time_2"]) + & (merged["end_time_1"] > merged["start_time_2"]) + & (merged["start_time_1"] != merged["start_time_2"]) + ] + overlap_counts = ( + overlap.groupby("employee_id").size().reset_index(name="overlapping_shifts") + ) + overlap_counts["overlapping_shifts"] = overlap_counts["overlapping_shifts"] // 2 + result = ( + overlap_counts[overlap_counts["overlapping_shifts"] > 0] + .sort_values("employee_id") + .reset_index(drop=True) + ) + return result +``` + + + + + + diff --git a/solution/3200-3299/3262.Find Overlapping Shifts/Solution.py b/solution/3200-3299/3262.Find Overlapping Shifts/Solution.py new file mode 100644 index 0000000000000..b670a8ad76853 --- /dev/null +++ b/solution/3200-3299/3262.Find Overlapping Shifts/Solution.py @@ -0,0 +1,22 @@ +import pandas as pd + + +def find_overlapping_shifts(employee_shifts: pd.DataFrame) -> pd.DataFrame: + merged = employee_shifts.merge( + employee_shifts, on="employee_id", suffixes=("_1", "_2") + ) + overlap = merged[ + (merged["start_time_1"] < merged["end_time_2"]) + & (merged["end_time_1"] > merged["start_time_2"]) + & (merged["start_time_1"] != merged["start_time_2"]) + ] + overlap_counts = ( + overlap.groupby("employee_id").size().reset_index(name="overlapping_shifts") + ) + overlap_counts["overlapping_shifts"] = overlap_counts["overlapping_shifts"] // 2 + result = ( + overlap_counts[overlap_counts["overlapping_shifts"] > 0] + .sort_values("employee_id") + .reset_index(drop=True) + ) + return result diff --git a/solution/3200-3299/3262.Find Overlapping Shifts/Solution.sql b/solution/3200-3299/3262.Find Overlapping Shifts/Solution.sql new file mode 100644 index 0000000000000..fa5d404105bd7 --- /dev/null +++ b/solution/3200-3299/3262.Find Overlapping Shifts/Solution.sql @@ -0,0 +1,13 @@ +SELECT + t1.employee_id, + COUNT(*) / 2 AS overlapping_shifts +FROM + EmployeeShifts t1 + JOIN EmployeeShifts t2 + ON t1.employee_id = t2.employee_id + AND t1.start_time < t2.end_time + AND t1.end_time > t2.start_time + AND t1.start_time != t2.start_time +GROUP BY 1 +HAVING overlapping_shifts > 0 +ORDER BY 1; diff --git a/solution/CONTEST_README.md b/solution/CONTEST_README.md index ca8a7957c7b8c..7d35115f978c7 100644 --- a/solution/CONTEST_README.md +++ b/solution/CONTEST_README.md @@ -2730,7 +2730,6 @@ comments: true #### 第 154 场周赛(2019-09-15 10:30, 90 分钟) 参赛人数 1299 -- [1189. “气球” 的最大数量](/solution/1100-1199/1189.Maximum%20Number%20of%20Balloons/README.md) - [1190. 反转每对括号间的子串](/solution/1100-1199/1190.Reverse%20Substrings%20Between%20Each%20Pair%20of%20Parentheses/README.md) - [1191. K 次串联后最大子数组之和](/solution/1100-1199/1191.K-Concatenation%20Maximum%20Sum/README.md) - [1192. 查找集群内的关键连接](/solution/1100-1199/1192.Critical%20Connections%20in%20a%20Network/README.md) diff --git a/solution/CONTEST_README_EN.md b/solution/CONTEST_README_EN.md index 4d933a032a96a..13ae499d2057a 100644 --- a/solution/CONTEST_README_EN.md +++ b/solution/CONTEST_README_EN.md @@ -2733,7 +2733,6 @@ If you want to estimate your score changes after the contest ends, you can visit #### Weekly Contest 154 -- [1189. Maximum Number of Balloons](/solution/1100-1199/1189.Maximum%20Number%20of%20Balloons/README_EN.md) - [1190. Reverse Substrings Between Each Pair of Parentheses](/solution/1100-1199/1190.Reverse%20Substrings%20Between%20Each%20Pair%20of%20Parentheses/README_EN.md) - [1191. K-Concatenation Maximum Sum](/solution/1100-1199/1191.K-Concatenation%20Maximum%20Sum/README_EN.md) - [1192. Critical Connections in a Network](/solution/1100-1199/1192.Critical%20Connections%20in%20a%20Network/README_EN.md) diff --git a/solution/DATABASE_README.md b/solution/DATABASE_README.md index 49c1a0ea51466..f2bdefbd30147 100644 --- a/solution/DATABASE_README.md +++ b/solution/DATABASE_README.md @@ -292,6 +292,7 @@ | 3236 | [首席执行官下属层级](/solution/3200-3299/3236.CEO%20Subordinate%20Hierarchy/README.md) | `数据库` | 困难 | 🔒 | | 3246 | [英超积分榜排名](/solution/3200-3299/3246.Premier%20League%20Table%20Ranking/README.md) | `数据库` | 简单 | 🔒 | | 3252 | [英超积分榜排名 II](/solution/3200-3299/3252.Premier%20League%20Table%20Ranking%20II/README.md) | `数据库` | 中等 | 🔒 | +| 3262 | [Find Overlapping Shifts](/solution/3200-3299/3262.Find%20Overlapping%20Shifts/README.md) | | 中等 | 🔒 | ## 版权 diff --git a/solution/DATABASE_README_EN.md b/solution/DATABASE_README_EN.md index aa220ae281937..efacdc1632f09 100644 --- a/solution/DATABASE_README_EN.md +++ b/solution/DATABASE_README_EN.md @@ -290,6 +290,7 @@ Press Control + F(or Command + F on | 3236 | [CEO Subordinate Hierarchy](/solution/3200-3299/3236.CEO%20Subordinate%20Hierarchy/README_EN.md) | `Database` | Hard | 🔒 | | 3246 | [Premier League Table Ranking](/solution/3200-3299/3246.Premier%20League%20Table%20Ranking/README_EN.md) | `Database` | Easy | 🔒 | | 3252 | [Premier League Table Ranking II](/solution/3200-3299/3252.Premier%20League%20Table%20Ranking%20II/README_EN.md) | `Database` | Medium | 🔒 | +| 3262 | [Find Overlapping Shifts](/solution/3200-3299/3262.Find%20Overlapping%20Shifts/README_EN.md) | | Medium | 🔒 | ## Copyright diff --git a/solution/README.md b/solution/README.md index 16a44f3ffa379..d98f0ecb11f7b 100644 --- a/solution/README.md +++ b/solution/README.md @@ -1199,7 +1199,6 @@ | 1186 | [删除一次得到子数组最大和](/solution/1100-1199/1186.Maximum%20Subarray%20Sum%20with%20One%20Deletion/README.md) | `数组`,`动态规划` | 中等 | 第 153 场周赛 | | 1187 | [使数组严格递增](/solution/1100-1199/1187.Make%20Array%20Strictly%20Increasing/README.md) | `数组`,`二分查找`,`动态规划`,`排序` | 困难 | 第 153 场周赛 | | 1188 | [设计有限阻塞队列](/solution/1100-1199/1188.Design%20Bounded%20Blocking%20Queue/README.md) | `多线程` | 中等 | 🔒 | -| 1189 | [“气球” 的最大数量](/solution/1100-1199/1189.Maximum%20Number%20of%20Balloons/README.md) | `哈希表`,`字符串`,`计数` | 简单 | 第 154 场周赛 | | 1190 | [反转每对括号间的子串](/solution/1100-1199/1190.Reverse%20Substrings%20Between%20Each%20Pair%20of%20Parentheses/README.md) | `栈`,`字符串` | 中等 | 第 154 场周赛 | | 1191 | [K 次串联后最大子数组之和](/solution/1100-1199/1191.K-Concatenation%20Maximum%20Sum/README.md) | `数组`,`动态规划` | 中等 | 第 154 场周赛 | | 1192 | [查找集群内的关键连接](/solution/1100-1199/1192.Critical%20Connections%20in%20a%20Network/README.md) | `深度优先搜索`,`图`,`双连通分量` | 困难 | 第 154 场周赛 | @@ -1947,7 +1946,7 @@ | 1934 | [确认率](/solution/1900-1999/1934.Confirmation%20Rate/README.md) | `数据库` | 中等 | | | 1935 | [可以输入的最大单词数](/solution/1900-1999/1935.Maximum%20Number%20of%20Words%20You%20Can%20Type/README.md) | `哈希表`,`字符串` | 简单 | 第 250 场周赛 | | 1936 | [新增的最少台阶数](/solution/1900-1999/1936.Add%20Minimum%20Number%20of%20Rungs/README.md) | `贪心`,`数组` | 中等 | 第 250 场周赛 | -| 1937 | [扣分后的最大得分](/solution/1900-1999/1937.Maximum%20Number%20of%20Points%20with%20Cost/README.md) | `数组`,`动态规划` | 中等 | 第 250 场周赛 | +| 1937 | [扣分后的最大得分](/solution/1900-1999/1937.Maximum%20Number%20of%20Points%20with%20Cost/README.md) | `数组`,`动态规划`,`矩阵` | 中等 | 第 250 场周赛 | | 1938 | [查询最大基因差](/solution/1900-1999/1938.Maximum%20Genetic%20Difference%20Query/README.md) | `位运算`,`深度优先搜索`,`字典树`,`数组`,`哈希表` | 困难 | 第 250 场周赛 | | 1939 | [主动请求确认消息的用户](/solution/1900-1999/1939.Users%20That%20Actively%20Request%20Confirmation%20Messages/README.md) | `数据库` | 简单 | 🔒 | | 1940 | [排序数组之间的最长公共子序列](/solution/1900-1999/1940.Longest%20Common%20Subsequence%20Between%20Sorted%20Arrays/README.md) | `数组`,`哈希表`,`计数` | 中等 | 🔒 | @@ -2132,7 +2131,7 @@ | 2119 | [反转两次的数字](/solution/2100-2199/2119.A%20Number%20After%20a%20Double%20Reversal/README.md) | `数学` | 简单 | 第 273 场周赛 | | 2120 | [执行所有后缀指令](/solution/2100-2199/2120.Execution%20of%20All%20Suffix%20Instructions%20Staying%20in%20a%20Grid/README.md) | `字符串`,`模拟` | 中等 | 第 273 场周赛 | | 2121 | [相同元素的间隔之和](/solution/2100-2199/2121.Intervals%20Between%20Identical%20Elements/README.md) | `数组`,`哈希表`,`前缀和` | 中等 | 第 273 场周赛 | -| 2122 | [还原原数组](/solution/2100-2199/2122.Recover%20the%20Original%20Array/README.md) | `数组`,`哈希表`,`枚举`,`排序` | 困难 | 第 273 场周赛 | +| 2122 | [还原原数组](/solution/2100-2199/2122.Recover%20the%20Original%20Array/README.md) | `数组`,`哈希表`,`双指针`,`枚举`,`排序` | 困难 | 第 273 场周赛 | | 2123 | [使矩阵中的 1 互不相邻的最小操作数](/solution/2100-2199/2123.Minimum%20Operations%20to%20Remove%20Adjacent%20Ones%20in%20Matrix/README.md) | `图`,`数组`,`矩阵` | 困难 | 🔒 | | 2124 | [检查是否所有 A 都在 B 之前](/solution/2100-2199/2124.Check%20if%20All%20A%27s%20Appears%20Before%20All%20B%27s/README.md) | `字符串` | 简单 | 第 274 场周赛 | | 2125 | [银行中的激光束数量](/solution/2100-2199/2125.Number%20of%20Laser%20Beams%20in%20a%20Bank/README.md) | `数组`,`数学`,`字符串`,`矩阵` | 中等 | 第 274 场周赛 | @@ -2873,7 +2872,7 @@ | 2860 | [让所有学生保持开心的分组方法数](/solution/2800-2899/2860.Happy%20Students/README.md) | `数组`,`枚举`,`排序` | 中等 | 第 363 场周赛 | | 2861 | [最大合金数](/solution/2800-2899/2861.Maximum%20Number%20of%20Alloys/README.md) | `数组`,`二分查找` | 中等 | 第 363 场周赛 | | 2862 | [完全子集的最大元素和](/solution/2800-2899/2862.Maximum%20Element-Sum%20of%20a%20Complete%20Subset%20of%20Indices/README.md) | `数组`,`数学`,`数论` | 困难 | 第 363 场周赛 | -| 2863 | [最长半递减数组](/solution/2800-2899/2863.Maximum%20Length%20of%20Semi-Decreasing%20Subarrays/README.md) | `数组`,`哈希表`,`排序` | 中等 | 🔒 | +| 2863 | [最长半递减数组](/solution/2800-2899/2863.Maximum%20Length%20of%20Semi-Decreasing%20Subarrays/README.md) | `栈`,`数组`,`排序`,`单调栈` | 中等 | 🔒 | | 2864 | [最大二进制奇数](/solution/2800-2899/2864.Maximum%20Odd%20Binary%20Number/README.md) | `贪心`,`数学`,`字符串` | 简单 | 第 364 场周赛 | | 2865 | [美丽塔 I](/solution/2800-2899/2865.Beautiful%20Towers%20I/README.md) | `栈`,`数组`,`单调栈` | 中等 | 第 364 场周赛 | | 2866 | [美丽塔 II](/solution/2800-2899/2866.Beautiful%20Towers%20II/README.md) | `栈`,`数组`,`单调栈` | 中等 | 第 364 场周赛 | @@ -3002,7 +3001,7 @@ | 2989 | [班级表现](/solution/2900-2999/2989.Class%20Performance/README.md) | `数据库` | 中等 | 🔒 | | 2990 | [贷款类型](/solution/2900-2999/2990.Loan%20Types/README.md) | `数据库` | 简单 | 🔒 | | 2991 | [最好的三家酒庄](/solution/2900-2999/2991.Top%20Three%20Wineries/README.md) | `数据库` | 困难 | 🔒 | -| 2992 | [自整除排列的数量](/solution/2900-2999/2992.Number%20of%20Self-Divisible%20Permutations/README.md) | `位运算`,`递归`,`数组`,`动态规划`,`状态压缩` | 中等 | 🔒 | +| 2992 | [自整除排列的数量](/solution/2900-2999/2992.Number%20of%20Self-Divisible%20Permutations/README.md) | `位运算`,`数组`,`动态规划`,`回溯`,`状态压缩` | 中等 | 🔒 | | 2993 | [发生在周五的交易 I](/solution/2900-2999/2993.Friday%20Purchases%20I/README.md) | `数据库` | 中等 | 🔒 | | 2994 | [发生在周五的交易 II](/solution/2900-2999/2994.Friday%20Purchases%20II/README.md) | `数据库` | 困难 | 🔒 | | 2995 | [观众变主播](/solution/2900-2999/2995.Viewers%20Turned%20Streamers/README.md) | `数据库` | 困难 | 🔒 | @@ -3263,15 +3262,16 @@ | 3250 | [单调数组对的数目 I](/solution/3200-3299/3250.Find%20the%20Count%20of%20Monotonic%20Pairs%20I/README.md) | `数组`,`数学`,`动态规划`,`组合数学`,`前缀和` | 困难 | 第 410 场周赛 | | 3251 | [单调数组对的数目 II](/solution/3200-3299/3251.Find%20the%20Count%20of%20Monotonic%20Pairs%20II/README.md) | `数组`,`数学`,`动态规划`,`组合数学`,`前缀和` | 困难 | 第 410 场周赛 | | 3252 | [英超积分榜排名 II](/solution/3200-3299/3252.Premier%20League%20Table%20Ranking%20II/README.md) | `数据库` | 中等 | 🔒 | -| 3253 | [Construct String with Minimum Cost (Easy)](/solution/3200-3299/3253.Construct%20String%20with%20Minimum%20Cost%20%28Easy%29/README.md) | | 中等 | 🔒 | -| 3254 | [长度为 K 的子数组的能量值 I](/solution/3200-3299/3254.Find%20the%20Power%20of%20K-Size%20Subarrays%20I/README.md) | | 中等 | 第 137 场双周赛 | -| 3255 | [长度为 K 的子数组的能量值 II](/solution/3200-3299/3255.Find%20the%20Power%20of%20K-Size%20Subarrays%20II/README.md) | | 中等 | 第 137 场双周赛 | -| 3256 | [放三个车的价值之和最大 I](/solution/3200-3299/3256.Maximum%20Value%20Sum%20by%20Placing%20Three%20Rooks%20I/README.md) | | 困难 | 第 137 场双周赛 | -| 3257 | [放三个车的价值之和最大 II](/solution/3200-3299/3257.Maximum%20Value%20Sum%20by%20Placing%20Three%20Rooks%20II/README.md) | | 困难 | 第 137 场双周赛 | -| 3258 | [统计满足 K 约束的子字符串数量 I](/solution/3200-3299/3258.Count%20Substrings%20That%20Satisfy%20K-Constraint%20I/README.md) | | 简单 | 第 411 场周赛 | -| 3259 | [超级饮料的最大强化能量](/solution/3200-3299/3259.Maximum%20Energy%20Boost%20From%20Two%20Drinks/README.md) | | 中等 | 第 411 场周赛 | -| 3260 | [找出最大的 N 位 K 回文数](/solution/3200-3299/3260.Find%20the%20Largest%20Palindrome%20Divisible%20by%20K/README.md) | | 困难 | 第 411 场周赛 | -| 3261 | [统计满足 K 约束的子字符串数量 II](/solution/3200-3299/3261.Count%20Substrings%20That%20Satisfy%20K-Constraint%20II/README.md) | | 困难 | 第 411 场周赛 | +| 3253 | [以最低成本构建字符串(简单)](/solution/3200-3299/3253.Construct%20String%20with%20Minimum%20Cost%20%28Easy%29/README.md) | | 中等 | 🔒 | +| 3254 | [长度为 K 的子数组的能量值 I](/solution/3200-3299/3254.Find%20the%20Power%20of%20K-Size%20Subarrays%20I/README.md) | `数组`,`滑动窗口` | 中等 | 第 137 场双周赛 | +| 3255 | [长度为 K 的子数组的能量值 II](/solution/3200-3299/3255.Find%20the%20Power%20of%20K-Size%20Subarrays%20II/README.md) | `数组`,`滑动窗口` | 中等 | 第 137 场双周赛 | +| 3256 | [放三个车的价值之和最大 I](/solution/3200-3299/3256.Maximum%20Value%20Sum%20by%20Placing%20Three%20Rooks%20I/README.md) | `数组`,`动态规划`,`枚举`,`矩阵` | 困难 | 第 137 场双周赛 | +| 3257 | [放三个车的价值之和最大 II](/solution/3200-3299/3257.Maximum%20Value%20Sum%20by%20Placing%20Three%20Rooks%20II/README.md) | `数组`,`动态规划`,`枚举`,`矩阵` | 困难 | 第 137 场双周赛 | +| 3258 | [统计满足 K 约束的子字符串数量 I](/solution/3200-3299/3258.Count%20Substrings%20That%20Satisfy%20K-Constraint%20I/README.md) | `字符串`,`滑动窗口` | 简单 | 第 411 场周赛 | +| 3259 | [超级饮料的最大强化能量](/solution/3200-3299/3259.Maximum%20Energy%20Boost%20From%20Two%20Drinks/README.md) | `数组`,`动态规划` | 中等 | 第 411 场周赛 | +| 3260 | [找出最大的 N 位 K 回文数](/solution/3200-3299/3260.Find%20the%20Largest%20Palindrome%20Divisible%20by%20K/README.md) | `贪心`,`数学`,`字符串`,`动态规划`,`数论` | 困难 | 第 411 场周赛 | +| 3261 | [统计满足 K 约束的子字符串数量 II](/solution/3200-3299/3261.Count%20Substrings%20That%20Satisfy%20K-Constraint%20II/README.md) | `数组`,`字符串`,`二分查找`,`前缀和`,`滑动窗口` | 困难 | 第 411 场周赛 | +| 3262 | [Find Overlapping Shifts](/solution/3200-3299/3262.Find%20Overlapping%20Shifts/README.md) | | 中等 | 🔒 | ## 版权 diff --git a/solution/README_EN.md b/solution/README_EN.md index f7b1122cf8297..4ff2f3aefd7c6 100644 --- a/solution/README_EN.md +++ b/solution/README_EN.md @@ -1197,7 +1197,6 @@ Press Control + F(or Command + F on | 1186 | [Maximum Subarray Sum with One Deletion](/solution/1100-1199/1186.Maximum%20Subarray%20Sum%20with%20One%20Deletion/README_EN.md) | `Array`,`Dynamic Programming` | Medium | Weekly Contest 153 | | 1187 | [Make Array Strictly Increasing](/solution/1100-1199/1187.Make%20Array%20Strictly%20Increasing/README_EN.md) | `Array`,`Binary Search`,`Dynamic Programming`,`Sorting` | Hard | Weekly Contest 153 | | 1188 | [Design Bounded Blocking Queue](/solution/1100-1199/1188.Design%20Bounded%20Blocking%20Queue/README_EN.md) | `Concurrency` | Medium | 🔒 | -| 1189 | [Maximum Number of Balloons](/solution/1100-1199/1189.Maximum%20Number%20of%20Balloons/README_EN.md) | `Hash Table`,`String`,`Counting` | Easy | Weekly Contest 154 | | 1190 | [Reverse Substrings Between Each Pair of Parentheses](/solution/1100-1199/1190.Reverse%20Substrings%20Between%20Each%20Pair%20of%20Parentheses/README_EN.md) | `Stack`,`String` | Medium | Weekly Contest 154 | | 1191 | [K-Concatenation Maximum Sum](/solution/1100-1199/1191.K-Concatenation%20Maximum%20Sum/README_EN.md) | `Array`,`Dynamic Programming` | Medium | Weekly Contest 154 | | 1192 | [Critical Connections in a Network](/solution/1100-1199/1192.Critical%20Connections%20in%20a%20Network/README_EN.md) | `Depth-First Search`,`Graph`,`Biconnected Component` | Hard | Weekly Contest 154 | @@ -1945,7 +1944,7 @@ Press Control + F(or Command + F on | 1934 | [Confirmation Rate](/solution/1900-1999/1934.Confirmation%20Rate/README_EN.md) | `Database` | Medium | | | 1935 | [Maximum Number of Words You Can Type](/solution/1900-1999/1935.Maximum%20Number%20of%20Words%20You%20Can%20Type/README_EN.md) | `Hash Table`,`String` | Easy | Weekly Contest 250 | | 1936 | [Add Minimum Number of Rungs](/solution/1900-1999/1936.Add%20Minimum%20Number%20of%20Rungs/README_EN.md) | `Greedy`,`Array` | Medium | Weekly Contest 250 | -| 1937 | [Maximum Number of Points with Cost](/solution/1900-1999/1937.Maximum%20Number%20of%20Points%20with%20Cost/README_EN.md) | `Array`,`Dynamic Programming` | Medium | Weekly Contest 250 | +| 1937 | [Maximum Number of Points with Cost](/solution/1900-1999/1937.Maximum%20Number%20of%20Points%20with%20Cost/README_EN.md) | `Array`,`Dynamic Programming`,`Matrix` | Medium | Weekly Contest 250 | | 1938 | [Maximum Genetic Difference Query](/solution/1900-1999/1938.Maximum%20Genetic%20Difference%20Query/README_EN.md) | `Bit Manipulation`,`Depth-First Search`,`Trie`,`Array`,`Hash Table` | Hard | Weekly Contest 250 | | 1939 | [Users That Actively Request Confirmation Messages](/solution/1900-1999/1939.Users%20That%20Actively%20Request%20Confirmation%20Messages/README_EN.md) | `Database` | Easy | 🔒 | | 1940 | [Longest Common Subsequence Between Sorted Arrays](/solution/1900-1999/1940.Longest%20Common%20Subsequence%20Between%20Sorted%20Arrays/README_EN.md) | `Array`,`Hash Table`,`Counting` | Medium | 🔒 | @@ -2130,7 +2129,7 @@ Press Control + F(or Command + F on | 2119 | [A Number After a Double Reversal](/solution/2100-2199/2119.A%20Number%20After%20a%20Double%20Reversal/README_EN.md) | `Math` | Easy | Weekly Contest 273 | | 2120 | [Execution of All Suffix Instructions Staying in a Grid](/solution/2100-2199/2120.Execution%20of%20All%20Suffix%20Instructions%20Staying%20in%20a%20Grid/README_EN.md) | `String`,`Simulation` | Medium | Weekly Contest 273 | | 2121 | [Intervals Between Identical Elements](/solution/2100-2199/2121.Intervals%20Between%20Identical%20Elements/README_EN.md) | `Array`,`Hash Table`,`Prefix Sum` | Medium | Weekly Contest 273 | -| 2122 | [Recover the Original Array](/solution/2100-2199/2122.Recover%20the%20Original%20Array/README_EN.md) | `Array`,`Hash Table`,`Enumeration`,`Sorting` | Hard | Weekly Contest 273 | +| 2122 | [Recover the Original Array](/solution/2100-2199/2122.Recover%20the%20Original%20Array/README_EN.md) | `Array`,`Hash Table`,`Two Pointers`,`Enumeration`,`Sorting` | Hard | Weekly Contest 273 | | 2123 | [Minimum Operations to Remove Adjacent Ones in Matrix](/solution/2100-2199/2123.Minimum%20Operations%20to%20Remove%20Adjacent%20Ones%20in%20Matrix/README_EN.md) | `Graph`,`Array`,`Matrix` | Hard | 🔒 | | 2124 | [Check if All A's Appears Before All B's](/solution/2100-2199/2124.Check%20if%20All%20A%27s%20Appears%20Before%20All%20B%27s/README_EN.md) | `String` | Easy | Weekly Contest 274 | | 2125 | [Number of Laser Beams in a Bank](/solution/2100-2199/2125.Number%20of%20Laser%20Beams%20in%20a%20Bank/README_EN.md) | `Array`,`Math`,`String`,`Matrix` | Medium | Weekly Contest 274 | @@ -2871,7 +2870,7 @@ Press Control + F(or Command + F on | 2860 | [Happy Students](/solution/2800-2899/2860.Happy%20Students/README_EN.md) | `Array`,`Enumeration`,`Sorting` | Medium | Weekly Contest 363 | | 2861 | [Maximum Number of Alloys](/solution/2800-2899/2861.Maximum%20Number%20of%20Alloys/README_EN.md) | `Array`,`Binary Search` | Medium | Weekly Contest 363 | | 2862 | [Maximum Element-Sum of a Complete Subset of Indices](/solution/2800-2899/2862.Maximum%20Element-Sum%20of%20a%20Complete%20Subset%20of%20Indices/README_EN.md) | `Array`,`Math`,`Number Theory` | Hard | Weekly Contest 363 | -| 2863 | [Maximum Length of Semi-Decreasing Subarrays](/solution/2800-2899/2863.Maximum%20Length%20of%20Semi-Decreasing%20Subarrays/README_EN.md) | `Array`,`Hash Table`,`Sorting` | Medium | 🔒 | +| 2863 | [Maximum Length of Semi-Decreasing Subarrays](/solution/2800-2899/2863.Maximum%20Length%20of%20Semi-Decreasing%20Subarrays/README_EN.md) | `Stack`,`Array`,`Sorting`,`Monotonic Stack` | Medium | 🔒 | | 2864 | [Maximum Odd Binary Number](/solution/2800-2899/2864.Maximum%20Odd%20Binary%20Number/README_EN.md) | `Greedy`,`Math`,`String` | Easy | Weekly Contest 364 | | 2865 | [Beautiful Towers I](/solution/2800-2899/2865.Beautiful%20Towers%20I/README_EN.md) | `Stack`,`Array`,`Monotonic Stack` | Medium | Weekly Contest 364 | | 2866 | [Beautiful Towers II](/solution/2800-2899/2866.Beautiful%20Towers%20II/README_EN.md) | `Stack`,`Array`,`Monotonic Stack` | Medium | Weekly Contest 364 | @@ -3000,7 +2999,7 @@ Press Control + F(or Command + F on | 2989 | [Class Performance](/solution/2900-2999/2989.Class%20Performance/README_EN.md) | `Database` | Medium | 🔒 | | 2990 | [Loan Types](/solution/2900-2999/2990.Loan%20Types/README_EN.md) | `Database` | Easy | 🔒 | | 2991 | [Top Three Wineries](/solution/2900-2999/2991.Top%20Three%20Wineries/README_EN.md) | `Database` | Hard | 🔒 | -| 2992 | [Number of Self-Divisible Permutations](/solution/2900-2999/2992.Number%20of%20Self-Divisible%20Permutations/README_EN.md) | `Bit Manipulation`,`Recursion`,`Array`,`Dynamic Programming`,`Bitmask` | Medium | 🔒 | +| 2992 | [Number of Self-Divisible Permutations](/solution/2900-2999/2992.Number%20of%20Self-Divisible%20Permutations/README_EN.md) | `Bit Manipulation`,`Array`,`Dynamic Programming`,`Backtracking`,`Bitmask` | Medium | 🔒 | | 2993 | [Friday Purchases I](/solution/2900-2999/2993.Friday%20Purchases%20I/README_EN.md) | `Database` | Medium | 🔒 | | 2994 | [Friday Purchases II](/solution/2900-2999/2994.Friday%20Purchases%20II/README_EN.md) | `Database` | Hard | 🔒 | | 2995 | [Viewers Turned Streamers](/solution/2900-2999/2995.Viewers%20Turned%20Streamers/README_EN.md) | `Database` | Hard | 🔒 | @@ -3262,14 +3261,15 @@ Press Control + F(or Command + F on | 3251 | [Find the Count of Monotonic Pairs II](/solution/3200-3299/3251.Find%20the%20Count%20of%20Monotonic%20Pairs%20II/README_EN.md) | `Array`,`Math`,`Dynamic Programming`,`Combinatorics`,`Prefix Sum` | Hard | Weekly Contest 410 | | 3252 | [Premier League Table Ranking II](/solution/3200-3299/3252.Premier%20League%20Table%20Ranking%20II/README_EN.md) | `Database` | Medium | 🔒 | | 3253 | [Construct String with Minimum Cost (Easy)](/solution/3200-3299/3253.Construct%20String%20with%20Minimum%20Cost%20%28Easy%29/README_EN.md) | | Medium | 🔒 | -| 3254 | [Find the Power of K-Size Subarrays I](/solution/3200-3299/3254.Find%20the%20Power%20of%20K-Size%20Subarrays%20I/README_EN.md) | | Medium | Biweekly Contest 137 | -| 3255 | [Find the Power of K-Size Subarrays II](/solution/3200-3299/3255.Find%20the%20Power%20of%20K-Size%20Subarrays%20II/README_EN.md) | | Medium | Biweekly Contest 137 | -| 3256 | [Maximum Value Sum by Placing Three Rooks I](/solution/3200-3299/3256.Maximum%20Value%20Sum%20by%20Placing%20Three%20Rooks%20I/README_EN.md) | | Hard | Biweekly Contest 137 | -| 3257 | [Maximum Value Sum by Placing Three Rooks II](/solution/3200-3299/3257.Maximum%20Value%20Sum%20by%20Placing%20Three%20Rooks%20II/README_EN.md) | | Hard | Biweekly Contest 137 | -| 3258 | [Count Substrings That Satisfy K-Constraint I](/solution/3200-3299/3258.Count%20Substrings%20That%20Satisfy%20K-Constraint%20I/README_EN.md) | | Easy | Weekly Contest 411 | -| 3259 | [Maximum Energy Boost From Two Drinks](/solution/3200-3299/3259.Maximum%20Energy%20Boost%20From%20Two%20Drinks/README_EN.md) | | Medium | Weekly Contest 411 | -| 3260 | [Find the Largest Palindrome Divisible by K](/solution/3200-3299/3260.Find%20the%20Largest%20Palindrome%20Divisible%20by%20K/README_EN.md) | | Hard | Weekly Contest 411 | -| 3261 | [Count Substrings That Satisfy K-Constraint II](/solution/3200-3299/3261.Count%20Substrings%20That%20Satisfy%20K-Constraint%20II/README_EN.md) | | Hard | Weekly Contest 411 | +| 3254 | [Find the Power of K-Size Subarrays I](/solution/3200-3299/3254.Find%20the%20Power%20of%20K-Size%20Subarrays%20I/README_EN.md) | `Array`,`Sliding Window` | Medium | Biweekly Contest 137 | +| 3255 | [Find the Power of K-Size Subarrays II](/solution/3200-3299/3255.Find%20the%20Power%20of%20K-Size%20Subarrays%20II/README_EN.md) | `Array`,`Sliding Window` | Medium | Biweekly Contest 137 | +| 3256 | [Maximum Value Sum by Placing Three Rooks I](/solution/3200-3299/3256.Maximum%20Value%20Sum%20by%20Placing%20Three%20Rooks%20I/README_EN.md) | `Array`,`Dynamic Programming`,`Enumeration`,`Matrix` | Hard | Biweekly Contest 137 | +| 3257 | [Maximum Value Sum by Placing Three Rooks II](/solution/3200-3299/3257.Maximum%20Value%20Sum%20by%20Placing%20Three%20Rooks%20II/README_EN.md) | `Array`,`Dynamic Programming`,`Enumeration`,`Matrix` | Hard | Biweekly Contest 137 | +| 3258 | [Count Substrings That Satisfy K-Constraint I](/solution/3200-3299/3258.Count%20Substrings%20That%20Satisfy%20K-Constraint%20I/README_EN.md) | `String`,`Sliding Window` | Easy | Weekly Contest 411 | +| 3259 | [Maximum Energy Boost From Two Drinks](/solution/3200-3299/3259.Maximum%20Energy%20Boost%20From%20Two%20Drinks/README_EN.md) | `Array`,`Dynamic Programming` | Medium | Weekly Contest 411 | +| 3260 | [Find the Largest Palindrome Divisible by K](/solution/3200-3299/3260.Find%20the%20Largest%20Palindrome%20Divisible%20by%20K/README_EN.md) | `Greedy`,`Math`,`String`,`Dynamic Programming`,`Number Theory` | Hard | Weekly Contest 411 | +| 3261 | [Count Substrings That Satisfy K-Constraint II](/solution/3200-3299/3261.Count%20Substrings%20That%20Satisfy%20K-Constraint%20II/README_EN.md) | `Array`,`String`,`Binary Search`,`Prefix Sum`,`Sliding Window` | Hard | Weekly Contest 411 | +| 3262 | [Find Overlapping Shifts](/solution/3200-3299/3262.Find%20Overlapping%20Shifts/README_EN.md) | | Medium | 🔒 | ## Copyright From ab25d1087355d1776cfcbfc0c50cc16120f2640a Mon Sep 17 00:00:00 2001 From: yanglbme Date: Wed, 21 Aug 2024 12:27:52 +0800 Subject: [PATCH 2/3] chore: add images --- ...0387-qxfMwx-Insertion-sort-example-300px.gif | Bin 0 -> 91950 bytes .../images/1724130414-QbPAjl-image.png | Bin 0 -> 21330 bytes .../images/1724130432-zoOvdI-image.png | Bin 0 -> 24293 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 solution/0100-0199/0147.Insertion Sort List/images/1724130387-qxfMwx-Insertion-sort-example-300px.gif create mode 100644 solution/0100-0199/0147.Insertion Sort List/images/1724130414-QbPAjl-image.png create mode 100644 solution/0100-0199/0147.Insertion Sort List/images/1724130432-zoOvdI-image.png diff --git a/solution/0100-0199/0147.Insertion Sort List/images/1724130387-qxfMwx-Insertion-sort-example-300px.gif b/solution/0100-0199/0147.Insertion Sort List/images/1724130387-qxfMwx-Insertion-sort-example-300px.gif new file mode 100644 index 0000000000000000000000000000000000000000..96c1b12d5cc82d607fbf191908a8444ec517ae9e GIT binary patch literal 91950 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 literal 0 HcmV?d00001 diff --git a/solution/0100-0199/0147.Insertion Sort List/images/1724130432-zoOvdI-image.png b/solution/0100-0199/0147.Insertion Sort List/images/1724130432-zoOvdI-image.png new file mode 100644 index 0000000000000000000000000000000000000000..c21db57529c60ac4d6d3b80d128a5bc345a5c5f4 GIT binary patch literal 24293 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 R_9<~E}K{5QlmmH_|& literal 0 HcmV?d00001 From 2bc161e05559d6e441a1cc9e48441deedfbf4e38 Mon Sep 17 00:00:00 2001 From: Doocs Bot Date: Wed, 21 Aug 2024 12:29:34 +0800 Subject: [PATCH 3/3] Optimised images with calibre/image-actions --- .../images/1724130414-QbPAjl-image.png | Bin 21330 -> 16465 bytes .../images/1724130432-zoOvdI-image.png | Bin 24293 -> 18445 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/solution/0100-0199/0147.Insertion Sort List/images/1724130414-QbPAjl-image.png b/solution/0100-0199/0147.Insertion Sort List/images/1724130414-QbPAjl-image.png index a5393f7171bb7680fb8dde00072644b07415621b..7b4b401c05391cd251f68738326f5dc72d0e33a7 100644 GIT binary patch literal 16465 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 FzW_uG3OfJ* literal 21330 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 diff --git a/solution/0100-0199/0147.Insertion Sort List/images/1724130432-zoOvdI-image.png b/solution/0100-0199/0147.Insertion Sort List/images/1724130432-zoOvdI-image.png index c21db57529c60ac4d6d3b80d128a5bc345a5c5f4..af28294b1e9d5d32da02941c5b52e9e5792d6d4f 100644 GIT binary patch literal 18445 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 KFAHB7`urd4mhl1r literal 24293 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 R_9<~E}K{5QlmmH_|&