From 3a75761495bc630e7990d02de38b4b25487e23cd Mon Sep 17 00:00:00 2001 From: yanglbme Date: Thu, 15 Aug 2024 15:58:04 +0800 Subject: [PATCH] feat: update lc problems --- solution/0000-0099/0001.Two Sum/README.md | 2 +- .../0000-0099/0016.3Sum Closest/README.md | 4 +- .../0000-0099/0071.Simplify Path/README.md | 84 +++++++---- .../README.md | 2 +- .../README.md | 2 +- .../0457.Circular Array Loop/README.md | 30 ++-- .../images/1723688159-qYjpWT-image.png | Bin 0 -> 33021 bytes .../images/1723688183-lRSkjp-image.png | Bin 0 -> 59298 bytes .../images/1723688199-nhaMuF-image.png | Bin 0 -> 41696 bytes .../0600-0699/0638.Shopping Offers/README.md | 17 ++- .../0638.Shopping Offers/README_EN.md | 1 + .../README_EN.md | 2 +- .../README.md | 40 +++--- .../images/995.png | Bin 5762 -> 0 bytes .../0800-0899/0841.Keys and Rooms/README.md | 2 +- .../README.md | 2 +- .../1032.Stream of Characters/README.md | 15 +- .../1032.Stream of Characters/README_EN.md | 15 +- .../1032.Stream of Characters/Solution.cpp | 17 +-- .../README.md | 29 ++-- .../README.md | 7 - .../README.md | 7 - .../1392.Longest Happy Prefix/README.md | 130 ++++++++++++++++++ .../1392.Longest Happy Prefix/README_EN.md | 130 ++++++++++++++++++ .../1392.Longest Happy Prefix/Solution2.cpp | 20 +++ .../1392.Longest Happy Prefix/Solution2.go | 19 +++ .../1392.Longest Happy Prefix/Solution2.java | 18 +++ .../1392.Longest Happy Prefix/Solution2.py | 18 +++ .../1392.Longest Happy Prefix/Solution2.ts | 16 +++ .../README.md | 2 +- .../README_EN.md | 2 +- .../1998.GCD Sort of an Array/README.md | 19 +-- .../README.md | 8 +- .../README.md | 24 ++-- .../README.md | 2 +- .../README.md | 2 +- .../README.md | 2 +- .../3100-3199/3151.Special Array I/README.md | 2 +- .../3100-3199/3152.Special Array II/README.md | 2 +- .../README.md | 4 +- .../README.md | 18 +-- solution/README.md | 6 +- solution/README_EN.md | 2 +- 43 files changed, 545 insertions(+), 179 deletions(-) create mode 100644 solution/0400-0499/0457.Circular Array Loop/images/1723688159-qYjpWT-image.png create mode 100644 solution/0400-0499/0457.Circular Array Loop/images/1723688183-lRSkjp-image.png create mode 100644 solution/0400-0499/0457.Circular Array Loop/images/1723688199-nhaMuF-image.png delete mode 100644 solution/0700-0799/0787.Cheapest Flights Within K Stops/images/995.png create mode 100644 solution/1300-1399/1392.Longest Happy Prefix/Solution2.cpp create mode 100644 solution/1300-1399/1392.Longest Happy Prefix/Solution2.go create mode 100644 solution/1300-1399/1392.Longest Happy Prefix/Solution2.java create mode 100644 solution/1300-1399/1392.Longest Happy Prefix/Solution2.py create mode 100644 solution/1300-1399/1392.Longest Happy Prefix/Solution2.ts diff --git a/solution/0000-0099/0001.Two Sum/README.md b/solution/0000-0099/0001.Two Sum/README.md index 0ac2190d21afe..815841ec0b764 100644 --- a/solution/0000-0099/0001.Two Sum/README.md +++ b/solution/0000-0099/0001.Two Sum/README.md @@ -19,7 +19,7 @@ tags:

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target  的那 两个 整数,并返回它们的数组下标。

-

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。

+

你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。

你可以按任意顺序返回答案。

diff --git a/solution/0000-0099/0016.3Sum Closest/README.md b/solution/0000-0099/0016.3Sum Closest/README.md index 36a0f1a68f585..26a419cdec0e9 100644 --- a/solution/0000-0099/0016.3Sum Closest/README.md +++ b/solution/0000-0099/0016.3Sum Closest/README.md @@ -31,7 +31,7 @@ tags:
 输入:nums = [-1,2,1,-4], target = 1
 输出:2
-解释:与 target 最接近的和是 2 (-1 + 2 + 1 = 2) 。
+解释:与 target 最接近的和是 2 (-1 + 2 + 1 = 2)。
 

示例 2:

@@ -39,7 +39,7 @@ tags:
 输入:nums = [0,0,0], target = 1
 输出:0
-
+解释:与 target 最接近的和是 0(0 + 0 + 0 = 0)。

 

diff --git a/solution/0000-0099/0071.Simplify Path/README.md b/solution/0000-0099/0071.Simplify Path/README.md index 4ea9bfda09e25..6551d3fe9d4d2 100644 --- a/solution/0000-0099/0071.Simplify Path/README.md +++ b/solution/0000-0099/0071.Simplify Path/README.md @@ -17,9 +17,9 @@ tags: -

给你一个字符串 path ,表示指向某一文件或目录的 Unix 风格 绝对路径 (以 '/' 开头),请你将其转化为更加简洁的规范路径。

+

给你一个字符串 path ,表示指向某一文件或目录的 Unix 风格 绝对路径 (以 '/' 开头),请你将其转化为更加简洁的规范路径。

-

在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (..) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。任意多个连续的斜杠(即,'//')都被视为单个斜杠 '/' 。 对于此问题,任何其他格式的点(例如,'...')均被视为文件/目录名称。

+

在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (..) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。任意多个连续的斜杠(即,'//')都被视为单个斜杠 '/' 。 对于此问题,任何其他格式的点(例如,'...')均被视为文件/目录名称。

请注意,返回的 规范路径 必须遵循下述格式:

@@ -32,44 +32,74 @@ tags:

返回简化后得到的 规范路径

-

 

+

 

-

示例 1:

+

示例 1:

-
-输入:path = "/home/"
-输出:"/home"
-解释:注意,最后一个目录名后面没有斜杠。 
+
+

输入:path = "/home/"

-

示例 2:

+

输出:"/home"

-
-输入:path = "/../"
-输出:"/"
-解释:从根目录向上一级是不可行的,因为根目录是你可以到达的最高级。
-
+

解释:

-

示例 3:

+

应删除尾部斜杠。

+
-
-输入:path = "/home//foo/"
-输出:"/home/foo"
-解释:在规范路径中,多个连续斜杠需要用一个斜杠替换。
-
+

示例 2:

-

示例 4:

+
+

输入:path = "/home//foo/"

-
-输入:path = "/a/./b/../../c/"
-输出:"/c"
-
+

输出:"/home/foo"

-

 

+

解释:

+ +

多个连续的斜杠被单个斜杠替换。

+
+ +

示例 3:

+ +
+

输入:path = "/home/user/Documents/../Pictures"

+ +

输出:"/home/user/Pictures"

+ +

解释:

+ +

两个点 ".." 表示上一级目录。

+
+ +

示例 4:

+ +
+

输入:path = "/../"

+ +

输出:"/"

+ +

解释:

+ +

不可能从根目录上升级一级。

+
+ +

示例 5:

+ +
+

输入:path = "/.../a/../b/c/../d/./"

+ +

输出:"/.../b/d"

+ +

解释:

+ +

"..." 是此问题中目录的有效名称。

+
+ +

 

提示:

diff --git a/solution/0200-0299/0230.Kth Smallest Element in a BST/README.md b/solution/0200-0299/0230.Kth Smallest Element in a BST/README.md index 6448cfa693a34..dabb554f1e383 100644 --- a/solution/0200-0299/0230.Kth Smallest Element in a BST/README.md +++ b/solution/0200-0299/0230.Kth Smallest Element in a BST/README.md @@ -11,7 +11,7 @@ tags: -# [230. 二叉搜索树中第K小的元素](https://leetcode.cn/problems/kth-smallest-element-in-a-bst) +# [230. 二叉搜索树中第 K 小的元素](https://leetcode.cn/problems/kth-smallest-element-in-a-bst) [English Version](/solution/0200-0299/0230.Kth%20Smallest%20Element%20in%20a%20BST/README_EN.md) diff --git a/solution/0300-0399/0308.Range Sum Query 2D - Mutable/README.md b/solution/0300-0399/0308.Range Sum Query 2D - Mutable/README.md index 54fffba910dfb..a7b7363fef66a 100644 --- a/solution/0300-0399/0308.Range Sum Query 2D - Mutable/README.md +++ b/solution/0300-0399/0308.Range Sum Query 2D - Mutable/README.md @@ -12,7 +12,7 @@ tags: -# [308. 二维区域和检索 - 可变 🔒](https://leetcode.cn/problems/range-sum-query-2d-mutable) +# [308. 二维区域和检索 - 矩阵可修改 🔒](https://leetcode.cn/problems/range-sum-query-2d-mutable) [English Version](/solution/0300-0399/0308.Range%20Sum%20Query%202D%20-%20Mutable/README_EN.md) diff --git a/solution/0400-0499/0457.Circular Array Loop/README.md b/solution/0400-0499/0457.Circular Array Loop/README.md index b8e08f322019b..5d5a37f44f746 100644 --- a/solution/0400-0499/0457.Circular Array Loop/README.md +++ b/solution/0400-0499/0457.Circular Array Loop/README.md @@ -39,29 +39,33 @@ tags:

 

-

示例 1:

- +

示例 1:

+
 输入:nums = [2,-1,1,2,2]
 输出:true
-解释:存在循环,按下标 0 -> 2 -> 3 -> 0 。循环长度为 3 。
+解释:图片展示了节点间如何连接。白色节点向前跳跃,而红色节点向后跳跃。
+我们可以看到存在循环,按下标 0 -> 2 -> 3 -> 0 --> ...,并且其中的所有节点都是白色(以相同方向跳跃)。
 
-

示例 2:

- +

示例 2:

+
-输入:nums = [-1,2]
+输入:nums = [-1,-2,-3,-4,-5,6]
 输出:false
-解释:按下标 1 -> 1 -> 1 ... 的运动无法构成循环,因为循环的长度为 1 。根据定义,循环的长度必须大于 1 。
+解释:图片展示了节点间如何连接。白色节点向前跳跃,而红色节点向后跳跃。
+唯一的循环长度为 1,所以返回 false。
 
-

示例 3:

- +

示例 3:

+
-输入:nums = [-2,1,-1,-2,-2]
-输出:false
-解释:按下标 1 -> 2 -> 1 -> ... 的运动无法构成循环,因为 nums[1] 是正数,而 nums[2] 是负数。
-所有 nums[seq[j]] 应当不是全正就是全负。
+输入:nums = [1,-1,5,1,4] +输出:true +解释:图片展示了节点间如何连接。白色节点向前跳跃,而红色节点向后跳跃。 +我们可以看到存在循环,按下标 0 --> 1 --> 0 --> ...,当它的大小大于 1 时,它有一个向前跳的节点和一个向后跳的节点,所以 它不是一个循环。 +我们可以看到存在循环,按下标 3 --> 4 --> 3 --> ...,并且其中的所有节点都是白色(以相同方向跳跃)。 +

 

diff --git a/solution/0400-0499/0457.Circular Array Loop/images/1723688159-qYjpWT-image.png b/solution/0400-0499/0457.Circular Array Loop/images/1723688159-qYjpWT-image.png new file mode 100644 index 0000000000000000000000000000000000000000..e7dae87d55ec792ad662a0a4333baa57ea9557b6 GIT binary patch literal 33021 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 literal 0 HcmV?d00001 diff --git a/solution/0400-0499/0457.Circular Array Loop/images/1723688199-nhaMuF-image.png b/solution/0400-0499/0457.Circular Array Loop/images/1723688199-nhaMuF-image.png new file mode 100644 index 0000000000000000000000000000000000000000..36c4e5416f8489b5b36e086f368ecb5377519944 GIT binary patch literal 41696 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%0A~0&EM3uee=98dimBj(ham;nSSt&sBR|F< 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 Ef_Jzr>Hq)$ literal 0 HcmV?d00001 diff --git a/solution/0600-0699/0638.Shopping Offers/README.md b/solution/0600-0699/0638.Shopping Offers/README.md index eb75179881823..26c28a6dc0958 100644 --- a/solution/0600-0699/0638.Shopping Offers/README.md +++ b/solution/0600-0699/0638.Shopping Offers/README.md @@ -29,7 +29,7 @@ tags:

返回 确切 满足购物清单所需花费的最低价格,你可以充分利用大礼包的优惠活动。你不能购买超出购物清单指定数量的物品,即使那样会降低整体价格。任意大礼包可无限次购买。

-

 

+

 

示例 1:

@@ -51,19 +51,18 @@ tags: 需要买 1A ,2B 和 1C ,所以付 ¥4 买 1A 和 1B(大礼包 1),以及 ¥3 购买 1B , ¥4 购买 1C 。 不可以购买超出待购清单的物品,尽管购买大礼包 2 更加便宜。 -

 

+

 

提示:

    -
  • n == price.length
  • -
  • n == needs.length
  • -
  • 1 <= n <= 6
  • -
  • 0 <= price[i] <= 10
  • -
  • 0 <= needs[i] <= 10
  • -
  • 1 <= special.length <= 100
  • +
  • n == price.length == needs.length
  • +
  • 1 <= n <= 6
  • +
  • 0 <= price[i], needs[i] <= 10
  • +
  • 1 <= special.length <= 100
  • special[i].length == n + 1
  • -
  • 0 <= special[i][j] <= 50
  • +
  • 0 <= special[i][j] <= 50
  • +
  • 生成的输入对于 0 <= j <= n - 1 至少有一个 special[i][j] 非零。
diff --git a/solution/0600-0699/0638.Shopping Offers/README_EN.md b/solution/0600-0699/0638.Shopping Offers/README_EN.md index a6b8750f96c32..05f4f49a0de4d 100644 --- a/solution/0600-0699/0638.Shopping Offers/README_EN.md +++ b/solution/0600-0699/0638.Shopping Offers/README_EN.md @@ -62,6 +62,7 @@ You cannot add more items, though only $9 for 2A ,2B and 1C.
  • 1 <= special.length <= 100
  • special[i].length == n + 1
  • 0 <= special[i][j] <= 50
  • +
  • The input is generated that at least one of special[i][j] is non-zero for 0 <= j <= n - 1.
  • diff --git a/solution/0700-0799/0777.Swap Adjacent in LR String/README_EN.md b/solution/0700-0799/0777.Swap Adjacent in LR String/README_EN.md index 27e0e8b94adb9..ab76e1f0608ac 100644 --- a/solution/0700-0799/0777.Swap Adjacent in LR String/README_EN.md +++ b/solution/0700-0799/0777.Swap Adjacent in LR String/README_EN.md @@ -17,7 +17,7 @@ tags: -

    In a string composed of 'L', 'R', and 'X' characters, like "RXXLRXRXL", a move consists of either replacing one occurrence of "XL" with "LX", or replacing one occurrence of "RX" with "XR". Given the starting string start and the ending string end, return True if and only if there exists a sequence of moves to transform one string to the other.

    +

    In a string composed of 'L', 'R', and 'X' characters, like "RXXLRXRXL", a move consists of either replacing one occurrence of "XL" with "LX", or replacing one occurrence of "RX" with "XR". Given the starting string start and the ending string end, return True if and only if there exists a sequence of moves to transform start to end.

     

    Example 1:

    diff --git a/solution/0700-0799/0787.Cheapest Flights Within K Stops/README.md b/solution/0700-0799/0787.Cheapest Flights Within K Stops/README.md index d2247c9c47319..3a85807862aee 100644 --- a/solution/0700-0799/0787.Cheapest Flights Within K Stops/README.md +++ b/solution/0700-0799/0787.Cheapest Flights Within K Stops/README.md @@ -28,32 +28,36 @@ tags:

     

    示例 1:

    - +
     输入: 
    -n = 3, edges = [[0,1,100],[1,2,100],[0,2,500]]
    -src = 0, dst = 2, k = 1
    -输出: 200
    -解释: 
    -城市航班图如下
    -
    -
    -从城市 0 到城市 2 在 1 站中转以内的最便宜价格是 200,如图中红色所示。
    +n = 4, flights = [[0,1,100],[1,2,100],[2,0,100],[1,3,600],[2,3,200]], src = 0, dst = 3, k = 1 +输出: 700 +解释: 城市航班图如上 +从城市 0 到城市 3 经过最多 1 站的最佳路径用红色标记,费用为 100 + 600 = 700。 +请注意,通过城市 [0, 1, 2, 3] 的路径更便宜,但无效,因为它经过了 2 站。 +

    示例 2:

    - +
     输入: 
    -n = 3, edges = [[0,1,100],[1,2,100],[0,2,500]]
    -src = 0, dst = 2, k = 0
    -输出: 500
    +n = 3, edges = [[0,1,100],[1,2,100],[0,2,500]], src = 0, dst = 2, k = 1
    +输出: 200
     解释: 
    -城市航班图如下
    -
    -
    -从城市 0 到城市 2 在 0 站中转以内的最便宜价格是 500,如图中蓝色所示。
    +城市航班图如上 +从城市 0 到城市 2 经过最多 1 站的最佳路径标记为红色,费用为 100 + 100 = 200。 + -

     

    +

    示例 3:

    + +
    +输入:n = 3, flights = [[0,1,100],[1,2,100],[0,2,500]], src = 0, dst = 2, k = 0
    +输出:500
    +解释:
    +城市航班图如上
    +从城市 0 到城市 2 不经过站点的最佳路径标记为红色,费用为 500。
    +

    提示:

    diff --git a/solution/0700-0799/0787.Cheapest Flights Within K Stops/images/995.png b/solution/0700-0799/0787.Cheapest Flights Within K Stops/images/995.png deleted file mode 100644 index af24316fba8835bb8ce3a3df68bd3e54eebf30a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5762 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 个房间,房间按从 0n - 1 编号。最初,除 0 号房间外的其余所有房间都被锁住。你的目标是进入所有的房间。然而,你不能在没有获得钥匙的时候进入锁住的房间。

    -

    当你进入一个房间,你可能会在里面找到一套不同的钥匙,每把钥匙上都有对应的房间号,即表示钥匙可以打开的房间。你可以拿上所有钥匙去解锁其他房间。

    +

    当你进入一个房间,你可能会在里面找到一套 不同的钥匙,每把钥匙上都有对应的房间号,即表示钥匙可以打开的房间。你可以拿上所有钥匙去解锁其他房间。

    给你一个数组 rooms 其中 rooms[i] 是你进入 i 号房间可以获得的钥匙集合。如果能进入 所有 房间返回 true,否则返回 false

    diff --git a/solution/0900-0999/0919.Complete Binary Tree Inserter/README.md b/solution/0900-0999/0919.Complete Binary Tree Inserter/README.md index ed07baa43e068..73b3f81ff64af 100644 --- a/solution/0900-0999/0919.Complete Binary Tree Inserter/README.md +++ b/solution/0900-0999/0919.Complete Binary Tree Inserter/README.md @@ -21,7 +21,7 @@ tags:

    完全二叉树 是每一层(除最后一层外)都是完全填充(即,节点数达到最大)的,并且所有的节点都尽可能地集中在左侧。

    -

    设计一种算法,将一个新节点插入到一个完整的二叉树中,并在插入后保持其完整。

    +

    设计一种算法,将一个新节点插入到一棵完全二叉树中,并在插入后保持其完整。

    实现 CBTInserter 类:

    diff --git a/solution/1000-1099/1032.Stream of Characters/README.md b/solution/1000-1099/1032.Stream of Characters/README.md index 716fe6e52e8ae..c593eec9a31dd 100644 --- a/solution/1000-1099/1032.Stream of Characters/README.md +++ b/solution/1000-1099/1032.Stream of Characters/README.md @@ -202,14 +202,11 @@ class StreamChecker { ```cpp class Trie { -public: - vector children; - bool isEnd; - - Trie() - : children(26) - , isEnd(false) {} +private: + Trie* children[26]{}; + bool isEnd = false; +public: void insert(string& w) { Trie* node = this; reverse(w.begin(), w.end()); @@ -225,7 +222,7 @@ public: bool search(string& w) { Trie* node = this; - for (int i = w.size() - 1; ~i; --i) { + for (int i = w.size() - 1, j = 0; ~i && j < 201; --i, ++j) { int idx = w[i] - 'a'; if (!node->children[idx]) { return false; @@ -245,7 +242,7 @@ public: string s; StreamChecker(vector& words) { - for (auto&& w : words) { + for (auto& w : words) { trie->insert(w); } } diff --git a/solution/1000-1099/1032.Stream of Characters/README_EN.md b/solution/1000-1099/1032.Stream of Characters/README_EN.md index a54c0c8768536..a0aab11d6413f 100644 --- a/solution/1000-1099/1032.Stream of Characters/README_EN.md +++ b/solution/1000-1099/1032.Stream of Characters/README_EN.md @@ -189,14 +189,11 @@ class StreamChecker { ```cpp class Trie { -public: - vector children; - bool isEnd; - - Trie() - : children(26) - , isEnd(false) {} +private: + Trie* children[26]{}; + bool isEnd = false; +public: void insert(string& w) { Trie* node = this; reverse(w.begin(), w.end()); @@ -212,7 +209,7 @@ public: bool search(string& w) { Trie* node = this; - for (int i = w.size() - 1; ~i; --i) { + for (int i = w.size() - 1, j = 0; ~i && j < 201; --i, ++j) { int idx = w[i] - 'a'; if (!node->children[idx]) { return false; @@ -232,7 +229,7 @@ public: string s; StreamChecker(vector& words) { - for (auto&& w : words) { + for (auto& w : words) { trie->insert(w); } } diff --git a/solution/1000-1099/1032.Stream of Characters/Solution.cpp b/solution/1000-1099/1032.Stream of Characters/Solution.cpp index e6eb258dab88b..8d7dd96d584fd 100644 --- a/solution/1000-1099/1032.Stream of Characters/Solution.cpp +++ b/solution/1000-1099/1032.Stream of Characters/Solution.cpp @@ -1,12 +1,9 @@ class Trie { -public: - vector children; - bool isEnd; - - Trie() - : children(26) - , isEnd(false) {} +private: + Trie* children[26]{}; + bool isEnd = false; +public: void insert(string& w) { Trie* node = this; reverse(w.begin(), w.end()); @@ -22,7 +19,7 @@ class Trie { bool search(string& w) { Trie* node = this; - for (int i = w.size() - 1; ~i; --i) { + for (int i = w.size() - 1, j = 0; ~i && j < 201; --i, ++j) { int idx = w[i] - 'a'; if (!node->children[idx]) { return false; @@ -42,7 +39,7 @@ class StreamChecker { string s; StreamChecker(vector& words) { - for (auto&& w : words) { + for (auto& w : words) { trie->insert(w); } } @@ -57,4 +54,4 @@ class StreamChecker { * Your StreamChecker object will be instantiated and called as such: * StreamChecker* obj = new StreamChecker(words); * bool param_1 = obj->query(letter); - */ \ No newline at end of file + */ diff --git a/solution/1000-1099/1062.Longest Repeating Substring/README.md b/solution/1000-1099/1062.Longest Repeating Substring/README.md index 234152076f8c1..12a7cb773e4c3 100644 --- a/solution/1000-1099/1062.Longest Repeating Substring/README.md +++ b/solution/1000-1099/1062.Longest Repeating Substring/README.md @@ -21,45 +21,42 @@ tags: -

    给定字符串 S,找出最长重复子串的长度。如果不存在重复子串就返回 0

    +

    给定字符串 s,找出最长重复子串的长度。如果不存在重复子串就返回 0

     

    示例 1:

    -
    输入:"abcd"
    +
    +输入:"abcd"
     输出:0
     解释:没有重复子串。
     

    示例 2:

    -
    输入:"abbaba"
    +
    +输入:"abbaba"
     输出:2
    -解释:最长的重复子串为 "ab" 和 "ba",每个出现 2 次。
    +解释:最长的重复子串为 "ab" 和 "ba",每个出现 2 次。
     

    示例 3:

    -
    输入:"aabcaabdaab"
    +
    +输入:"aabcaabdaab"
     输出:3
    -解释:最长的重复子串为 "aab",出现 3 次。
    +解释:最长的重复子串为 "aab",出现 3 次。
     
    -

    示例 4:

    - -
    输入:"aaaaa"
    -输出:4
    -解释:最长的重复子串为 "aaaa",出现 2 次。
    -

     

    提示:

    -
      -
    1. 字符串 S 仅包含从 'a' 到 'z' 的小写英文字母。
    2. -
    3. 1 <= S.length <= 1500
    4. -
    +
      +
    • 1 <= s.length <= 2000
    • +
    • 字符串 s 仅包含从 'a' 到 'z' 的小写英文字母。
    • +
    diff --git a/solution/1100-1199/1190.Reverse Substrings Between Each Pair of Parentheses/README.md b/solution/1100-1199/1190.Reverse Substrings Between Each Pair of Parentheses/README.md index 7547ec2bfc4dd..102f1dd13f0e8 100644 --- a/solution/1100-1199/1190.Reverse Substrings Between Each Pair of Parentheses/README.md +++ b/solution/1100-1199/1190.Reverse Substrings Between Each Pair of Parentheses/README.md @@ -48,13 +48,6 @@ tags: 输出:"leetcode" 解释:先反转子字符串 "oc" ,接着反转 "etco" ,然后反转整个字符串。
    -

    示例 4:

    - -
    -输入:s = "a(bcdefghijkl(mno)p)q"
    -输出:"apmnolkjihgfedcbq"
    -
    -

     

    提示:

    diff --git a/solution/1200-1299/1296.Divide Array in Sets of K Consecutive Numbers/README.md b/solution/1200-1299/1296.Divide Array in Sets of K Consecutive Numbers/README.md index 5fc673bb188c8..07db0477d9770 100644 --- a/solution/1200-1299/1296.Divide Array in Sets of K Consecutive Numbers/README.md +++ b/solution/1200-1299/1296.Divide Array in Sets of K Consecutive Numbers/README.md @@ -42,13 +42,6 @@ tags: 解释:数组可以分成 [1,2,3] , [2,3,4] , [3,4,5] 和 [9,10,11]。
    -

    示例 3:

    - -
    -输入:nums = [3,3,2,2,1,1], k = 3
    -输出:true
    -
    -

    示例 4:

    diff --git a/solution/1300-1399/1392.Longest Happy Prefix/README.md b/solution/1300-1399/1392.Longest Happy Prefix/README.md
    index d0e4490cf2cdc..64ad42c7ae5f9 100644
    --- a/solution/1300-1399/1392.Longest Happy Prefix/README.md	
    +++ b/solution/1300-1399/1392.Longest Happy Prefix/README.md	
    @@ -197,4 +197,134 @@ impl Solution {
     
     
     
    +
    +
    +### 方法二:KMP 算法
    +
    +根据题目描述,我们需要找到一个字符串的最长快乐前缀,即找到一个字符串的最长前缀,使得这个前缀同时也是这个字符串的后缀。我们可以使用 KMP 算法来解决这个问题。
    +
    +时间复杂度 $O(n)$,空间复杂度 $O(n)$。其中 $n$ 为字符串的长度。
    +
    +
    +
    +#### Python3
    +
    +```python
    +class Solution:
    +    def longestPrefix(self, s: str) -> str:
    +        s += "#"
    +        n = len(s)
    +        next = [0] * n
    +        next[0] = -1
    +        i, j = 2, 0
    +        while i < n:
    +            if s[i - 1] == s[j]:
    +                j += 1
    +                next[i] = j
    +                i += 1
    +            elif j:
    +                j = next[j]
    +            else:
    +                next[i] = 0
    +                i += 1
    +        return s[: next[-1]]
    +```
    +
    +#### Java
    +
    +```java
    +class Solution {
    +    public String longestPrefix(String s) {
    +        s += "#";
    +        int n = s.length();
    +        int[] next = new int[n];
    +        next[0] = -1;
    +        for (int i = 2, j = 0; i < n;) {
    +            if (s.charAt(i - 1) == s.charAt(j)) {
    +                next[i++] = ++j;
    +            } else if (j > 0) {
    +                j = next[j];
    +            } else {
    +                next[i++] = 0;
    +            }
    +        }
    +        return s.substring(0, next[n - 1]);
    +    }
    +}
    +```
    +
    +#### C++
    +
    +```cpp
    +class Solution {
    +public:
    +    string longestPrefix(string s) {
    +        s.push_back('#');
    +        int n = s.size();
    +        int next[n];
    +        next[0] = -1;
    +        next[1] = 0;
    +        for (int i = 2, j = 0; i < n;) {
    +            if (s[i - 1] == s[j]) {
    +                next[i++] = ++j;
    +            } else if (j > 0) {
    +                j = next[j];
    +            } else {
    +                next[i++] = 0;
    +            }
    +        }
    +        return s.substr(0, next[n - 1]);
    +    }
    +};
    +```
    +
    +#### Go
    +
    +```go
    +func longestPrefix(s string) string {
    +	s += "#"
    +	n := len(s)
    +	next := make([]int, n)
    +	next[0], next[1] = -1, 0
    +	for i, j := 2, 0; i < n; {
    +		if s[i-1] == s[j] {
    +			j++
    +			next[i] = j
    +			i++
    +		} else if j > 0 {
    +			j = next[j]
    +		} else {
    +			next[i] = 0
    +			i++
    +		}
    +	}
    +	return s[:next[n-1]]
    +}
    +```
    +
    +#### TypeScript
    +
    +```ts
    +function longestPrefix(s: string): string {
    +    s += '#';
    +    const n = s.length;
    +    const next: number[] = Array(n).fill(0);
    +    next[0] = -1;
    +    for (let i = 2, j = 0; i < n; ) {
    +        if (s[i - 1] === s[j]) {
    +            next[i++] = ++j;
    +        } else if (j > 0) {
    +            j = next[j];
    +        } else {
    +            next[i++] = 0;
    +        }
    +    }
    +    return s.slice(0, next[n - 1]);
    +}
    +```
    +
    +
    +
    +
    +
     
    diff --git a/solution/1300-1399/1392.Longest Happy Prefix/README_EN.md b/solution/1300-1399/1392.Longest Happy Prefix/README_EN.md
    index 1cde8157af9b0..5217bb2fddf07 100644
    --- a/solution/1300-1399/1392.Longest Happy Prefix/README_EN.md	
    +++ b/solution/1300-1399/1392.Longest Happy Prefix/README_EN.md	
    @@ -195,4 +195,134 @@ impl Solution {
     
     
     
    +
    +
    +### Solution 2: KMP Algorithm
    +
    +According to the problem description, we need to find the longest happy prefix of a string, which is the longest prefix of the string that is also a suffix of the string. We can use the KMP algorithm to solve this problem.
    +
    +The time complexity is $O(n)$, and the space complexity is $O(n)$. Here, $n$ is the length of the string.
    +
    +
    +
    +#### Python3
    +
    +```python
    +class Solution:
    +    def longestPrefix(self, s: str) -> str:
    +        s += "#"
    +        n = len(s)
    +        next = [0] * n
    +        next[0] = -1
    +        i, j = 2, 0
    +        while i < n:
    +            if s[i - 1] == s[j]:
    +                j += 1
    +                next[i] = j
    +                i += 1
    +            elif j:
    +                j = next[j]
    +            else:
    +                next[i] = 0
    +                i += 1
    +        return s[: next[-1]]
    +```
    +
    +#### Java
    +
    +```java
    +class Solution {
    +    public String longestPrefix(String s) {
    +        s += "#";
    +        int n = s.length();
    +        int[] next = new int[n];
    +        next[0] = -1;
    +        for (int i = 2, j = 0; i < n;) {
    +            if (s.charAt(i - 1) == s.charAt(j)) {
    +                next[i++] = ++j;
    +            } else if (j > 0) {
    +                j = next[j];
    +            } else {
    +                next[i++] = 0;
    +            }
    +        }
    +        return s.substring(0, next[n - 1]);
    +    }
    +}
    +```
    +
    +#### C++
    +
    +```cpp
    +class Solution {
    +public:
    +    string longestPrefix(string s) {
    +        s.push_back('#');
    +        int n = s.size();
    +        int next[n];
    +        next[0] = -1;
    +        next[1] = 0;
    +        for (int i = 2, j = 0; i < n;) {
    +            if (s[i - 1] == s[j]) {
    +                next[i++] = ++j;
    +            } else if (j > 0) {
    +                j = next[j];
    +            } else {
    +                next[i++] = 0;
    +            }
    +        }
    +        return s.substr(0, next[n - 1]);
    +    }
    +};
    +```
    +
    +#### Go
    +
    +```go
    +func longestPrefix(s string) string {
    +	s += "#"
    +	n := len(s)
    +	next := make([]int, n)
    +	next[0], next[1] = -1, 0
    +	for i, j := 2, 0; i < n; {
    +		if s[i-1] == s[j] {
    +			j++
    +			next[i] = j
    +			i++
    +		} else if j > 0 {
    +			j = next[j]
    +		} else {
    +			next[i] = 0
    +			i++
    +		}
    +	}
    +	return s[:next[n-1]]
    +}
    +```
    +
    +#### TypeScript
    +
    +```ts
    +function longestPrefix(s: string): string {
    +    s += '#';
    +    const n = s.length;
    +    const next: number[] = Array(n).fill(0);
    +    next[0] = -1;
    +    for (let i = 2, j = 0; i < n; ) {
    +        if (s[i - 1] === s[j]) {
    +            next[i++] = ++j;
    +        } else if (j > 0) {
    +            j = next[j];
    +        } else {
    +            next[i++] = 0;
    +        }
    +    }
    +    return s.slice(0, next[n - 1]);
    +}
    +```
    +
    +
    +
    +
    +
     
    diff --git a/solution/1300-1399/1392.Longest Happy Prefix/Solution2.cpp b/solution/1300-1399/1392.Longest Happy Prefix/Solution2.cpp
    new file mode 100644
    index 0000000000000..0fc84e2455b42
    --- /dev/null
    +++ b/solution/1300-1399/1392.Longest Happy Prefix/Solution2.cpp	
    @@ -0,0 +1,20 @@
    +class Solution {
    +public:
    +    string longestPrefix(string s) {
    +        s.push_back('#');
    +        int n = s.size();
    +        int next[n];
    +        next[0] = -1;
    +        next[1] = 0;
    +        for (int i = 2, j = 0; i < n;) {
    +            if (s[i - 1] == s[j]) {
    +                next[i++] = ++j;
    +            } else if (j > 0) {
    +                j = next[j];
    +            } else {
    +                next[i++] = 0;
    +            }
    +        }
    +        return s.substr(0, next[n - 1]);
    +    }
    +};
    diff --git a/solution/1300-1399/1392.Longest Happy Prefix/Solution2.go b/solution/1300-1399/1392.Longest Happy Prefix/Solution2.go
    new file mode 100644
    index 0000000000000..5acb4cf5c7e85
    --- /dev/null
    +++ b/solution/1300-1399/1392.Longest Happy Prefix/Solution2.go	
    @@ -0,0 +1,19 @@
    +func longestPrefix(s string) string {
    +	s += "#"
    +	n := len(s)
    +	next := make([]int, n)
    +	next[0], next[1] = -1, 0
    +	for i, j := 2, 0; i < n; {
    +		if s[i-1] == s[j] {
    +			j++
    +			next[i] = j
    +			i++
    +		} else if j > 0 {
    +			j = next[j]
    +		} else {
    +			next[i] = 0
    +			i++
    +		}
    +	}
    +	return s[:next[n-1]]
    +}
    diff --git a/solution/1300-1399/1392.Longest Happy Prefix/Solution2.java b/solution/1300-1399/1392.Longest Happy Prefix/Solution2.java
    new file mode 100644
    index 0000000000000..22f0f898324c8
    --- /dev/null
    +++ b/solution/1300-1399/1392.Longest Happy Prefix/Solution2.java	
    @@ -0,0 +1,18 @@
    +class Solution {
    +    public String longestPrefix(String s) {
    +        s += "#";
    +        int n = s.length();
    +        int[] next = new int[n];
    +        next[0] = -1;
    +        for (int i = 2, j = 0; i < n;) {
    +            if (s.charAt(i - 1) == s.charAt(j)) {
    +                next[i++] = ++j;
    +            } else if (j > 0) {
    +                j = next[j];
    +            } else {
    +                next[i++] = 0;
    +            }
    +        }
    +        return s.substring(0, next[n - 1]);
    +    }
    +}
    diff --git a/solution/1300-1399/1392.Longest Happy Prefix/Solution2.py b/solution/1300-1399/1392.Longest Happy Prefix/Solution2.py
    new file mode 100644
    index 0000000000000..d3b9f63e8e3f0
    --- /dev/null
    +++ b/solution/1300-1399/1392.Longest Happy Prefix/Solution2.py	
    @@ -0,0 +1,18 @@
    +class Solution:
    +    def longestPrefix(self, s: str) -> str:
    +        s += "#"
    +        n = len(s)
    +        next = [0] * n
    +        next[0] = -1
    +        i, j = 2, 0
    +        while i < n:
    +            if s[i - 1] == s[j]:
    +                j += 1
    +                next[i] = j
    +                i += 1
    +            elif j:
    +                j = next[j]
    +            else:
    +                next[i] = 0
    +                i += 1
    +        return s[: next[-1]]
    diff --git a/solution/1300-1399/1392.Longest Happy Prefix/Solution2.ts b/solution/1300-1399/1392.Longest Happy Prefix/Solution2.ts
    new file mode 100644
    index 0000000000000..56b46dd2cc752
    --- /dev/null
    +++ b/solution/1300-1399/1392.Longest Happy Prefix/Solution2.ts	
    @@ -0,0 +1,16 @@
    +function longestPrefix(s: string): string {
    +    s += '#';
    +    const n = s.length;
    +    const next: number[] = Array(n).fill(0);
    +    next[0] = -1;
    +    for (let i = 2, j = 0; i < n; ) {
    +        if (s[i - 1] === s[j]) {
    +            next[i++] = ++j;
    +        } else if (j > 0) {
    +            j = next[j];
    +        } else {
    +            next[i++] = 0;
    +        }
    +    }
    +    return s.slice(0, next[n - 1]);
    +}
    diff --git a/solution/1800-1899/1820.Maximum Number of Accepted Invitations/README.md b/solution/1800-1899/1820.Maximum Number of Accepted Invitations/README.md
    index 001e7409aaf5a..5ff2512acec48 100644
    --- a/solution/1800-1899/1820.Maximum Number of Accepted Invitations/README.md	
    +++ b/solution/1800-1899/1820.Maximum Number of Accepted Invitations/README.md	
    @@ -3,9 +3,9 @@ comments: true
     difficulty: 中等
     edit_url: https://github.com/doocs/leetcode/edit/main/solution/1800-1899/1820.Maximum%20Number%20of%20Accepted%20Invitations/README.md
     tags:
    +    - 深度优先搜索
         - 图
         - 数组
    -    - 回溯
         - 矩阵
     ---
     
    diff --git a/solution/1800-1899/1820.Maximum Number of Accepted Invitations/README_EN.md b/solution/1800-1899/1820.Maximum Number of Accepted Invitations/README_EN.md
    index c78b616789c4a..32891870d5391 100644
    --- a/solution/1800-1899/1820.Maximum Number of Accepted Invitations/README_EN.md	
    +++ b/solution/1800-1899/1820.Maximum Number of Accepted Invitations/README_EN.md	
    @@ -3,9 +3,9 @@ comments: true
     difficulty: Medium
     edit_url: https://github.com/doocs/leetcode/edit/main/solution/1800-1899/1820.Maximum%20Number%20of%20Accepted%20Invitations/README_EN.md
     tags:
    +    - Depth-First Search
         - Graph
         - Array
    -    - Backtracking
         - Matrix
     ---
     
    diff --git a/solution/1900-1999/1998.GCD Sort of an Array/README.md b/solution/1900-1999/1998.GCD Sort of an Array/README.md
    index c4bcdff6afb10..1369b85664804 100644
    --- a/solution/1900-1999/1998.GCD Sort of an Array/README.md	
    +++ b/solution/1900-1999/1998.GCD Sort of an Array/README.md	
    @@ -34,29 +34,32 @@ tags:
     
     

    示例 1:

    -
    输入:nums = [7,21,3]
    +
    +输入:nums = [7,21,3]
     输出:true
     解释:可以执行下述操作完成对 [7,21,3] 的排序:
    -- 交换 7 和 21 因为 gcd(7,21) = 7 。nums = [21,7,3]
    -- 交换 21 和 3 因为 gcd(21,3) = 3 。nums = [3,7,21]
    +- 交换 7 和 21 因为 gcd(7,21) = 7 。nums = [21,7,3]
    +- 交换 21 和 3 因为 gcd(21,3) = 3 。nums = [3,7,21]
     

    示例 2:

    -
    输入:nums = [5,2,6,2]
    +
    +输入:nums = [5,2,6,2]
     输出:false
     解释:无法完成排序,因为 5 不能与其他元素交换。
     

    示例 3:

    -
    输入:nums = [10,5,9,3,15]
    +
    +输入:nums = [10,5,9,3,15]
     输出:true
     解释:
     可以执行下述操作完成对 [10,5,9,3,15] 的排序:
    -- 交换 10 和 15 因为 gcd(10,15) = 5 。nums = [15,5,9,3,10]
    -- 交换 15 和 3 因为 gcd(15,3) = 3 。nums = [3,5,9,15,10]
    -- 交换 10 和 15 因为 gcd(10,15) = 5 。nums = [3,5,9,10,15]
    +- 交换 10 和 15 因为 gcd(10,15) = 5 。nums = [15,5,9,3,10]
    +- 交换 15 和 3 因为 gcd(15,3) = 3 。nums = [3,5,9,15,10]
    +- 交换 10 和 15 因为 gcd(10,15) = 5 。nums = [3,5,9,10,15]
     

     

    diff --git a/solution/2100-2199/2189.Number of Ways to Build House of Cards/README.md b/solution/2100-2199/2189.Number of Ways to Build House of Cards/README.md index a0717156e998b..f7b856ad72188 100644 --- a/solution/2100-2199/2189.Number of Ways to Build House of Cards/README.md +++ b/solution/2100-2199/2189.Number of Ways to Build House of Cards/README.md @@ -21,13 +21,13 @@ tags:
    • 一个 纸牌屋 由一行或多行 三角形 和水平纸牌组成。
    • -
    • 三角形 是由两张卡片相互靠在一起形成的。
    • -
    • 一张卡片必须水平放置在一行中 所有相邻 的三角形之间。
    • -
    • 比第一行高的任何三角形都必须放在前一行的水平牌上。
    • +
    • 三角形 是由两张纸牌相互靠在一起形成的。
    • +
    • 一张纸牌必须水平放置在一行中 所有相邻 的三角形之间。
    • +
    • 比第一行高的任何三角形都必须放在前一行的水平纸牌上。
    • 每个三角形都被放置在行中 最左边 的可用位置。
    -

    返回使用所有 n 张卡片可以构建的不同纸牌屋的数量。如果存在一行两个纸牌屋包含不同数量的纸牌,那么两个纸牌屋被认为是不同的。

    +

    返回使用所有 n纸牌可以构建的不同纸牌屋的数量。如果存在一行两个纸牌屋包含不同数量的纸牌,那么两个纸牌屋被认为是不同的。

     

    diff --git a/solution/2200-2299/2202.Maximize the Topmost Element After K Moves/README.md b/solution/2200-2299/2202.Maximize the Topmost Element After K Moves/README.md index 799703ce18a09..b7b94a2e49b4b 100644 --- a/solution/2200-2299/2202.Maximize the Topmost Element After K Moves/README.md +++ b/solution/2200-2299/2202.Maximize the Topmost Element After K Moves/README.md @@ -19,18 +19,18 @@ tags: -

    给你一个下标从 0 开始的整数数组 nums ,它表示一个 ,其中 nums[0] 是栈顶的元素。

    +

    给你一个下标从 0 开始的整数数组 nums ,它表示一个 ,其中 nums[0] 是堆顶的元素。

    每一次操作中,你可以执行以下操作 之一 :

      -
    • 如果栈非空,那么 删除 栈顶端的元素。
    • -
    • 如果存在 1 个或者多个被删除的元素,你可以从它们中选择任何一个,添加 回栈顶,这个元素成为新的栈顶元素。
    • +
    • 如果堆非空,那么 删除 堆顶端的元素。
    • +
    • 如果存在 1 个或者多个被删除的元素,你可以从它们中选择任何一个,添加 回堆顶,这个元素成为新的堆顶元素。

    同时给你一个整数 k ,它表示你总共需要执行操作的次数。

    -

    请你返回 恰好 执行 k 次操作以后,栈顶元素的 最大值 。如果执行完 k 次操作以后,栈一定为空,请你返回 -1 。

    +

    请你返回 恰好 执行 k 次操作以后,堆顶元素的 最大值 。如果执行完 k 次操作以后,堆一定为空,请你返回 -1 。

     

    @@ -40,12 +40,12 @@ tags: 输入:nums = [5,2,2,4,0,6], k = 4 输出:5 解释: -4 次操作后,栈顶元素为 5 的方法之一为: -- 第 1 次操作:删除栈顶元素 5 ,栈变为 [2,2,4,0,6] 。 -- 第 2 次操作:删除栈顶元素 2 ,栈变为 [2,4,0,6] 。 -- 第 3 次操作:删除栈顶元素 2 ,栈变为 [4,0,6] 。 -- 第 4 次操作:将 5 添加回栈顶,栈变为 [5,4,0,6] 。 -注意,这不是最后栈顶元素为 5 的唯一方式。但可以证明,4 次操作以后 5 是能得到的最大栈顶元素。 +4 次操作后,堆顶元素为 5 的方法之一为: +- 第 1 次操作:删除堆顶元素 5 ,堆变为 [2,2,4,0,6] 。 +- 第 2 次操作:删除堆顶元素 2 ,堆变为 [2,4,0,6] 。 +- 第 3 次操作:删除堆顶元素 2 ,堆变为 [4,0,6] 。 +- 第 4 次操作:将 5 添加回堆顶,堆变为 [5,4,0,6] 。 +注意,这不是最后堆顶元素为 5 的唯一方式。但可以证明,4 次操作以后 5 是能得到的最大堆顶元素。

    示例 2:

    @@ -54,8 +54,8 @@ tags: 输入:nums = [2], k = 1 输出:-1 解释: -第 1 次操作中,我们唯一的选择是将栈顶元素弹出栈。 -由于 1 次操作后无法得到一个非空的栈,所以我们返回 -1 。 +第 1 次操作中,我们唯一的选择是将堆顶元素弹出堆。 +由于 1 次操作后无法得到一个非空的堆,所以我们返回 -1 。

     

    diff --git a/solution/3000-3099/3062.Winner of the Linked List Game/README.md b/solution/3000-3099/3062.Winner of the Linked List Game/README.md index 16659edbae76c..f8b8b75981e89 100644 --- a/solution/3000-3099/3062.Winner of the Linked List Game/README.md +++ b/solution/3000-3099/3062.Winner of the Linked List Game/README.md @@ -26,7 +26,7 @@ tags:
    • 如果奇数节点更大,"Odd" 队得一分。
    • -
    • 如果偶数节点更大,"Even" 队得一分。
    • +
    • 如果偶数节点更大,"Even" 队得一分。

    返回分数更 的队名,如果分数相同,返回 "Tie"

    diff --git a/solution/3000-3099/3076.Shortest Uncommon Substring in an Array/README.md b/solution/3000-3099/3076.Shortest Uncommon Substring in an Array/README.md index 09830e7e955d6..f7e6a35d20486 100644 --- a/solution/3000-3099/3076.Shortest Uncommon Substring in an Array/README.md +++ b/solution/3000-3099/3076.Shortest Uncommon Substring in an Array/README.md @@ -23,7 +23,7 @@ tags:

    给你一个数组 arr ,数组中有 n 个 非空 字符串。

    -

    请你求出一个长度为 n 的字符串 answer ,满足:

    +

    请你求出一个长度为 n 的字符串数组 answer ,满足:

    • answer[i] 是 arr[i] 最短 的子字符串,且它不是 arr 中其他任何字符串的子字符串。如果有多个这样的子字符串存在,answer[i] 应该是它们中字典序最小的一个。如果不存在这样的子字符串,answer[i] 为空字符串。
    • diff --git a/solution/3100-3199/3117.Minimum Sum of Values by Dividing Array/README.md b/solution/3100-3199/3117.Minimum Sum of Values by Dividing Array/README.md index a70a1efd64bf1..47dc3567e4e41 100644 --- a/solution/3100-3199/3117.Minimum Sum of Values by Dividing Array/README.md +++ b/solution/3100-3199/3117.Minimum Sum of Values by Dividing Array/README.md @@ -27,7 +27,7 @@ tags:

      数组的 等于该数组的 最后一个 元素。

      -

      你需要将 nums 划分为 m不相交的连续 子数组,对于第 ith 个子数组 [li, ri],子数组元素的按位AND运算结果等于 andValues[i],换句话说,对所有的 1 <= i <= mnums[li] & nums[li + 1] & ... & nums[ri] == andValues[i] ,其中 & 表示按位AND运算符。

      +

      你需要将 nums 划分为 m不相交的连续 子数组,对于第 ith 个子数组 [li, ri],子数组元素的按位 AND 运算结果等于 andValues[i],换句话说,对所有的 1 <= i <= mnums[li] & nums[li + 1] & ... & nums[ri] == andValues[i] ,其中 & 表示按位 AND 运算符。

      返回将 nums 划分为 m 个子数组所能得到的可能的 最小 子数组 之和。如果无法完成这样的划分,则返回 -1

      diff --git a/solution/3100-3199/3151.Special Array I/README.md b/solution/3100-3199/3151.Special Array I/README.md index dfcb793d3cbbe..d6264ba41dd30 100644 --- a/solution/3100-3199/3151.Special Array I/README.md +++ b/solution/3100-3199/3151.Special Array I/README.md @@ -20,7 +20,7 @@ tags:

      如果数组的每一对相邻元素都是两个奇偶性不同的数字,则该数组被认为是一个 特殊数组

      -

      Aging 有一个整数数组 nums。如果 nums 是一个 特殊数组 ,返回 true,否则返回 false

      +

      你有一个整数数组 nums。如果 nums 是一个 特殊数组 ,返回 true,否则返回 false

       

      diff --git a/solution/3100-3199/3152.Special Array II/README.md b/solution/3100-3199/3152.Special Array II/README.md index 7c4f7a32ca356..526fd8c912d5d 100644 --- a/solution/3100-3199/3152.Special Array II/README.md +++ b/solution/3100-3199/3152.Special Array II/README.md @@ -22,7 +22,7 @@ tags:

      如果数组的每一对相邻元素都是两个奇偶性不同的数字,则该数组被认为是一个 特殊数组

      -

      周洋哥有一个整数数组 nums 和一个二维整数矩阵 queries,对于 queries[i] = [fromi, toi],请你帮助周洋哥检查子数组 nums[fromi..toi] 是不是一个 特殊数组

      +

      你有一个整数数组 nums 和一个二维整数矩阵 queries,对于 queries[i] = [fromi, toi],请你帮助你检查 子数组 nums[fromi..toi] 是不是一个 特殊数组

      返回布尔数组 answer,如果 nums[fromi..toi] 是特殊数组,则 answer[i]true ,否则,answer[i]false

      diff --git a/solution/3100-3199/3153.Sum of Digit Differences of All Pairs/README.md b/solution/3100-3199/3153.Sum of Digit Differences of All Pairs/README.md index ec1940c577adf..eb8b072ee284f 100644 --- a/solution/3100-3199/3153.Sum of Digit Differences of All Pairs/README.md +++ b/solution/3100-3199/3153.Sum of Digit Differences of All Pairs/README.md @@ -21,11 +21,11 @@ tags: -

      车尔尼有一个数组 nums ,它只包含  整数,所有正整数的数位长度都 相同 。

      +

      你有一个数组 nums ,它只包含  整数,所有正整数的数位长度都 相同 。

      两个整数的 数位不同 指的是两个整数 相同 位置上不同数字的数目。

      -

      请车尔尼返回 nums 中 所有 整数对里,数位不同之和。

      +

      请你返回 nums 中 所有 整数对里,数位不同之和。

       

      diff --git a/solution/3100-3199/3154.Find Number of Ways to Reach the K-th Stair/README.md b/solution/3100-3199/3154.Find Number of Ways to Reach the K-th Stair/README.md index 0f1a47832cb8d..2b2c5cc5bb5c0 100644 --- a/solution/3100-3199/3154.Find Number of Ways to Reach the K-th Stair/README.md +++ b/solution/3100-3199/3154.Find Number of Ways to Reach the K-th Stair/README.md @@ -24,16 +24,16 @@ tags:

      给你有一个 非负 整数 k 。有一个无限长度的台阶,最低 一层编号为 0 。

      -

      虎老师有一个整数 jump ,一开始值为 0 。虎老师从台阶 1 开始,虎老师可以使用 任意 次操作,目标是到达第 k 级台阶。假设虎老师位于台阶 i ,一次 操作 中,虎老师可以:

      +

      Alice 有一个整数 jump ,一开始值为 0 。Alice 从台阶 1 开始,可以使用 任意 次操作,目标是到达第 k 级台阶。假设 Alice 位于台阶 i ,一次 操作 中,Alice 可以:

      • 向下走一级到 i - 1 ,但该操作 不能 连续使用,如果在台阶第 0 级也不能使用。
      • 向上走到台阶 i + 2jump 处,然后 jump 变为 jump + 1 。
      -

      请你返回虎老师到达台阶 k 处的总方案数。

      +

      请你返回 Alice 到达台阶 k 处的总方案数。

      -

      注意 ,虎老师可能到达台阶 k 处后,通过一些操作重新回到台阶 k 处,这视为不同的方案。

      +

      注意,Alice 可能到达台阶 k 处后,通过一些操作重新回到台阶 k 处,这视为不同的方案。

       

      @@ -49,12 +49,12 @@ tags:

      2 种到达台阶 0 的方案为:

        -
      • 虎老师从台阶 1 开始。 +
      • Alice 从台阶 1 开始。
        • 执行第一种操作,从台阶 1 向下走到台阶 0 。
      • -
      • 虎老师从台阶 1 开始。 +
      • Alice 从台阶 1 开始。
        • 执行第一种操作,从台阶 1 向下走到台阶 0 。
        • 执行第二种操作,向上走 20 级台阶到台阶 1 。
        • @@ -76,20 +76,20 @@ tags:

          4 种到达台阶 1 的方案为:

            -
          • 虎老师从台阶 1 开始,已经到达台阶 1 。
          • -
          • 虎老师从台阶 1 开始。 +
          • Alice 从台阶 1 开始,已经到达台阶 1 。
          • +
          • Alice 从台阶 1 开始。
            • 执行第一种操作,从台阶 1 向下走到台阶 0 。
            • 执行第二种操作,向上走 20 级台阶到台阶 1 。
          • -
          • 虎老师从台阶 1 开始。 +
          • Alice 从台阶 1 开始。
            • 执行第二种操作,向上走 20 级台阶到台阶 2 。
            • 执行第一种操作,向下走 1 级台阶到台阶 1 。
          • -
          • 虎老师从台阶 1 开始。 +
          • Alice 从台阶 1 开始。
            • 执行第一种操作,从台阶 1 向下走到台阶 0 。
            • 执行第二种操作,向上走 20 级台阶到台阶 1 。
            • diff --git a/solution/README.md b/solution/README.md index 7ba6ac5f01354..8184639aede22 100644 --- a/solution/README.md +++ b/solution/README.md @@ -240,7 +240,7 @@ | 0227 | [基本计算器 II](/solution/0200-0299/0227.Basic%20Calculator%20II/README.md) | `栈`,`数学`,`字符串` | 中等 | | | 0228 | [汇总区间](/solution/0200-0299/0228.Summary%20Ranges/README.md) | `数组` | 简单 | | | 0229 | [多数元素 II](/solution/0200-0299/0229.Majority%20Element%20II/README.md) | `数组`,`哈希表`,`计数`,`排序` | 中等 | | -| 0230 | [二叉搜索树中第K小的元素](/solution/0200-0299/0230.Kth%20Smallest%20Element%20in%20a%20BST/README.md) | `树`,`深度优先搜索`,`二叉搜索树`,`二叉树` | 中等 | | +| 0230 | [二叉搜索树中第 K 小的元素](/solution/0200-0299/0230.Kth%20Smallest%20Element%20in%20a%20BST/README.md) | `树`,`深度优先搜索`,`二叉搜索树`,`二叉树` | 中等 | | | 0231 | [2 的幂](/solution/0200-0299/0231.Power%20of%20Two/README.md) | `位运算`,`递归`,`数学` | 简单 | | | 0232 | [用栈实现队列](/solution/0200-0299/0232.Implement%20Queue%20using%20Stacks/README.md) | `栈`,`设计`,`队列` | 简单 | | | 0233 | [数字 1 的个数](/solution/0200-0299/0233.Number%20of%20Digit%20One/README.md) | `递归`,`数学`,`动态规划` | 困难 | | @@ -318,7 +318,7 @@ | 0305 | [岛屿数量 II](/solution/0300-0399/0305.Number%20of%20Islands%20II/README.md) | `并查集`,`数组`,`哈希表` | 困难 | 🔒 | | 0306 | [累加数](/solution/0300-0399/0306.Additive%20Number/README.md) | `字符串`,`回溯` | 中等 | | | 0307 | [区域和检索 - 数组可修改](/solution/0300-0399/0307.Range%20Sum%20Query%20-%20Mutable/README.md) | `设计`,`树状数组`,`线段树`,`数组` | 中等 | | -| 0308 | [二维区域和检索 - 可变](/solution/0300-0399/0308.Range%20Sum%20Query%202D%20-%20Mutable/README.md) | `设计`,`树状数组`,`线段树`,`数组`,`矩阵` | 困难 | 🔒 | +| 0308 | [二维区域和检索 - 矩阵可修改](/solution/0300-0399/0308.Range%20Sum%20Query%202D%20-%20Mutable/README.md) | `设计`,`树状数组`,`线段树`,`数组`,`矩阵` | 困难 | 🔒 | | 0309 | [买卖股票的最佳时机含冷冻期](/solution/0300-0399/0309.Best%20Time%20to%20Buy%20and%20Sell%20Stock%20with%20Cooldown/README.md) | `数组`,`动态规划` | 中等 | | | 0310 | [最小高度树](/solution/0300-0399/0310.Minimum%20Height%20Trees/README.md) | `深度优先搜索`,`广度优先搜索`,`图`,`拓扑排序` | 中等 | | | 0311 | [稀疏矩阵的乘法](/solution/0300-0399/0311.Sparse%20Matrix%20Multiplication/README.md) | `数组`,`哈希表`,`矩阵` | 中等 | 🔒 | @@ -1830,7 +1830,7 @@ | 1817 | [查找用户活跃分钟数](/solution/1800-1899/1817.Finding%20the%20Users%20Active%20Minutes/README.md) | `数组`,`哈希表` | 中等 | 第 235 场周赛 | | 1818 | [绝对差值和](/solution/1800-1899/1818.Minimum%20Absolute%20Sum%20Difference/README.md) | `数组`,`二分查找`,`有序集合`,`排序` | 中等 | 第 235 场周赛 | | 1819 | [序列中不同最大公约数的数目](/solution/1800-1899/1819.Number%20of%20Different%20Subsequences%20GCDs/README.md) | `数组`,`数学`,`计数`,`数论` | 困难 | 第 235 场周赛 | -| 1820 | [最多邀请的个数](/solution/1800-1899/1820.Maximum%20Number%20of%20Accepted%20Invitations/README.md) | `图`,`数组`,`回溯`,`矩阵` | 中等 | 🔒 | +| 1820 | [最多邀请的个数](/solution/1800-1899/1820.Maximum%20Number%20of%20Accepted%20Invitations/README.md) | `深度优先搜索`,`图`,`数组`,`矩阵` | 中等 | 🔒 | | 1821 | [寻找今年具有正收入的客户](/solution/1800-1899/1821.Find%20Customers%20With%20Positive%20Revenue%20this%20Year/README.md) | `数据库` | 简单 | 🔒 | | 1822 | [数组元素积的符号](/solution/1800-1899/1822.Sign%20of%20the%20Product%20of%20an%20Array/README.md) | `数组`,`数学` | 简单 | 第 236 场周赛 | | 1823 | [找出游戏的获胜者](/solution/1800-1899/1823.Find%20the%20Winner%20of%20the%20Circular%20Game/README.md) | `递归`,`队列`,`数组`,`数学`,`模拟` | 中等 | 第 236 场周赛 | diff --git a/solution/README_EN.md b/solution/README_EN.md index 67e8466282339..29e1ff62962e1 100644 --- a/solution/README_EN.md +++ b/solution/README_EN.md @@ -1828,7 +1828,7 @@ Press Control + F(or Command + F on | 1817 | [Finding the Users Active Minutes](/solution/1800-1899/1817.Finding%20the%20Users%20Active%20Minutes/README_EN.md) | `Array`,`Hash Table` | Medium | Weekly Contest 235 | | 1818 | [Minimum Absolute Sum Difference](/solution/1800-1899/1818.Minimum%20Absolute%20Sum%20Difference/README_EN.md) | `Array`,`Binary Search`,`Ordered Set`,`Sorting` | Medium | Weekly Contest 235 | | 1819 | [Number of Different Subsequences GCDs](/solution/1800-1899/1819.Number%20of%20Different%20Subsequences%20GCDs/README_EN.md) | `Array`,`Math`,`Counting`,`Number Theory` | Hard | Weekly Contest 235 | -| 1820 | [Maximum Number of Accepted Invitations](/solution/1800-1899/1820.Maximum%20Number%20of%20Accepted%20Invitations/README_EN.md) | `Graph`,`Array`,`Backtracking`,`Matrix` | Medium | 🔒 | +| 1820 | [Maximum Number of Accepted Invitations](/solution/1800-1899/1820.Maximum%20Number%20of%20Accepted%20Invitations/README_EN.md) | `Depth-First Search`,`Graph`,`Array`,`Matrix` | 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 | 🔒 | | 1822 | [Sign of the Product of an Array](/solution/1800-1899/1822.Sign%20of%20the%20Product%20of%20an%20Array/README_EN.md) | `Array`,`Math` | Easy | Weekly Contest 236 | | 1823 | [Find the Winner of the Circular Game](/solution/1800-1899/1823.Find%20the%20Winner%20of%20the%20Circular%20Game/README_EN.md) | `Recursion`,`Queue`,`Array`,`Math`,`Simulation` | Medium | Weekly Contest 236 |