From d73745c1de13574a1ac12dddc882f9bbb72135a3 Mon Sep 17 00:00:00 2001 From: yanglbme Date: Sun, 1 Sep 2024 18:47:07 +0800 Subject: [PATCH] feat: add biweekly contest 138 and weekly contest 413 --- .../README.md" | 16 +- .../README.md" | 6 +- .../README.md" | 2 +- .../README.md" | 6 +- .../README_EN.md | 45 ++- .../images/screenshot-2024-08-29-202743.png | Bin 0 -> 9438 bytes .../images/tree_2.png | Bin 0 -> 26052 bytes .../README.md | 71 ++-- .../README_EN.md | 45 ++- .../images/screenshot-2024-08-29-202743.png | Bin 0 -> 9438 bytes .../images/tree_2.png | Bin 0 -> 26052 bytes .../README.md | 59 ++-- .../README_EN.md | 45 ++- .../images/screenshot-2024-08-29-202743.png | Bin 0 -> 9438 bytes .../images/tree_2.png | Bin 0 -> 26052 bytes .../0200-0299/0290.Word Pattern/README_EN.md | 44 ++- .../0572.Subtree of Another Tree/README.md | 12 +- .../images/1724998676-cATjhe-image.png | Bin 0 -> 78110 bytes .../images/1724998698-sEJWnq-image.png | Bin 0 -> 54498 bytes solution/0600-0699/0666.Path Sum IV/README.md | 1 + .../0600-0699/0666.Path Sum IV/README_EN.md | 1 + .../README.md | 3 +- .../README_EN.md | 2 +- solution/0700-0799/0733.Flood Fill/README.md | 12 +- .../0700-0799/0733.Flood Fill/README_EN.md | 35 +- .../README.md | 15 +- .../1200-1299/1260.Shift 2D Grid/README.md | 26 +- .../README.md | 44 +-- .../README.md | 9 +- .../README_EN.md | 1 + .../README.md | 2 +- .../README_EN.md | 2 +- .../README.md | 40 +-- .../README.md | 31 +- .../README.md | 2 +- .../README.md | 4 +- .../README_EN.md | 8 +- .../1905.Count Sub Islands/README.md | 2 +- .../1905.Count Sub Islands/README_EN.md | 2 +- .../README.md | 1 + .../README_EN.md | 1 + .../README.md | 4 +- .../README_EN.md | 4 +- .../Solution.js | 2 +- .../Solution.ts | 2 +- .../README.md | 2 +- .../README_EN.md | 3 + .../README.md | 20 +- .../README_EN.md | 6 +- .../2895.Minimum Processing Time/README.md | 2 +- .../README.md | 14 +- .../3265.Count Almost Equal Pairs I/README.md | 2 +- .../README.md | 171 +++++++++ .../README_EN.md | 169 +++++++++ .../Solution.cpp | 12 + .../Solution.go | 9 + .../Solution.java | 11 + .../Solution.py | 8 + .../Solution.ts | 9 + .../3271.Hash Divided String/README.md | 190 ++++++++++ .../3271.Hash Divided String/README_EN.md | 188 ++++++++++ .../3271.Hash Divided String/Solution.cpp | 16 + .../3271.Hash Divided String/Solution.go | 15 + .../3271.Hash Divided String/Solution.java | 15 + .../3271.Hash Divided String/Solution.py | 10 + .../3271.Hash Divided String/Solution.ts | 15 + .../README.md | 327 ++++++++++++++++++ .../README_EN.md | 325 +++++++++++++++++ .../Solution.cpp | 39 +++ .../Solution.go | 51 +++ .../Solution.java | 42 +++ .../Solution.py | 21 ++ .../Solution.ts | 55 +++ .../README.md | 117 +++++++ .../README_EN.md | 115 ++++++ .../README.md | 136 ++++++++ .../README_EN.md | 134 +++++++ .../Solution.cpp | 8 + .../Solution.go | 5 + .../Solution.java | 7 + .../Solution.py | 5 + .../Solution.ts | 5 + .../screenshot-2021-02-20-at-22159-pm.png | Bin 0 -> 244163 bytes .../README.md | 218 ++++++++++++ .../README_EN.md | 215 ++++++++++++ .../Solution.cpp | 16 + .../Solution.go | 36 ++ .../Solution.java | 16 + .../Solution.py | 10 + .../Solution.ts | 12 + .../README.md | 236 +++++++++++++ .../README_EN.md | 234 +++++++++++++ .../Solution.cpp | 27 ++ .../Solution.go | 26 ++ .../Solution.java | 25 ++ .../Solution.py | 17 + .../Solution.ts | 23 ++ .../images/grid1drawio.png | Bin 0 -> 11549 bytes .../images/grid8_8drawio.png | Bin 0 -> 10035 bytes .../README.md | 264 ++++++++++++++ .../README_EN.md | 262 ++++++++++++++ .../Solution.cpp | 22 ++ .../Solution.go | 22 ++ .../Solution.java | 22 ++ .../Solution.py | 13 + .../Solution.ts | 14 + solution/CONTEST_README.md | 20 +- solution/CONTEST_README_EN.md | 14 + solution/README.md | 16 +- solution/README_EN.md | 12 +- solution/contest.json | 2 +- 111 files changed, 4387 insertions(+), 293 deletions(-) create mode 100644 solution/0000-0099/0094.Binary Tree Inorder Traversal/images/screenshot-2024-08-29-202743.png create mode 100644 solution/0000-0099/0094.Binary Tree Inorder Traversal/images/tree_2.png create mode 100644 solution/0100-0199/0144.Binary Tree Preorder Traversal/images/screenshot-2024-08-29-202743.png create mode 100644 solution/0100-0199/0144.Binary Tree Preorder Traversal/images/tree_2.png create mode 100644 solution/0100-0199/0145.Binary Tree Postorder Traversal/images/screenshot-2024-08-29-202743.png create mode 100644 solution/0100-0199/0145.Binary Tree Postorder Traversal/images/tree_2.png create mode 100644 solution/0500-0599/0572.Subtree of Another Tree/images/1724998676-cATjhe-image.png create mode 100644 solution/0500-0599/0572.Subtree of Another Tree/images/1724998698-sEJWnq-image.png create mode 100644 solution/3200-3299/3270.Find the Key of the Numbers/README.md create mode 100644 solution/3200-3299/3270.Find the Key of the Numbers/README_EN.md create mode 100644 solution/3200-3299/3270.Find the Key of the Numbers/Solution.cpp create mode 100644 solution/3200-3299/3270.Find the Key of the Numbers/Solution.go create mode 100644 solution/3200-3299/3270.Find the Key of the Numbers/Solution.java create mode 100644 solution/3200-3299/3270.Find the Key of the Numbers/Solution.py create mode 100644 solution/3200-3299/3270.Find the Key of the Numbers/Solution.ts create mode 100644 solution/3200-3299/3271.Hash Divided String/README.md create mode 100644 solution/3200-3299/3271.Hash Divided String/README_EN.md create mode 100644 solution/3200-3299/3271.Hash Divided String/Solution.cpp create mode 100644 solution/3200-3299/3271.Hash Divided String/Solution.go create mode 100644 solution/3200-3299/3271.Hash Divided String/Solution.java create mode 100644 solution/3200-3299/3271.Hash Divided String/Solution.py create mode 100644 solution/3200-3299/3271.Hash Divided String/Solution.ts create mode 100644 solution/3200-3299/3272.Find the Count of Good Integers/README.md create mode 100644 solution/3200-3299/3272.Find the Count of Good Integers/README_EN.md create mode 100644 solution/3200-3299/3272.Find the Count of Good Integers/Solution.cpp create mode 100644 solution/3200-3299/3272.Find the Count of Good Integers/Solution.go create mode 100644 solution/3200-3299/3272.Find the Count of Good Integers/Solution.java create mode 100644 solution/3200-3299/3272.Find the Count of Good Integers/Solution.py create mode 100644 solution/3200-3299/3272.Find the Count of Good Integers/Solution.ts create mode 100644 solution/3200-3299/3273.Minimum Amount of Damage Dealt to Bob/README.md create mode 100644 solution/3200-3299/3273.Minimum Amount of Damage Dealt to Bob/README_EN.md create mode 100644 solution/3200-3299/3274.Check if Two Chessboard Squares Have the Same Color/README.md create mode 100644 solution/3200-3299/3274.Check if Two Chessboard Squares Have the Same Color/README_EN.md create mode 100644 solution/3200-3299/3274.Check if Two Chessboard Squares Have the Same Color/Solution.cpp create mode 100644 solution/3200-3299/3274.Check if Two Chessboard Squares Have the Same Color/Solution.go create mode 100644 solution/3200-3299/3274.Check if Two Chessboard Squares Have the Same Color/Solution.java create mode 100644 solution/3200-3299/3274.Check if Two Chessboard Squares Have the Same Color/Solution.py create mode 100644 solution/3200-3299/3274.Check if Two Chessboard Squares Have the Same Color/Solution.ts create mode 100644 solution/3200-3299/3274.Check if Two Chessboard Squares Have the Same Color/images/screenshot-2021-02-20-at-22159-pm.png create mode 100644 solution/3200-3299/3275.K-th Nearest Obstacle Queries/README.md create mode 100644 solution/3200-3299/3275.K-th Nearest Obstacle Queries/README_EN.md create mode 100644 solution/3200-3299/3275.K-th Nearest Obstacle Queries/Solution.cpp create mode 100644 solution/3200-3299/3275.K-th Nearest Obstacle Queries/Solution.go create mode 100644 solution/3200-3299/3275.K-th Nearest Obstacle Queries/Solution.java create mode 100644 solution/3200-3299/3275.K-th Nearest Obstacle Queries/Solution.py create mode 100644 solution/3200-3299/3275.K-th Nearest Obstacle Queries/Solution.ts create mode 100644 solution/3200-3299/3276.Select Cells in Grid With Maximum Score/README.md create mode 100644 solution/3200-3299/3276.Select Cells in Grid With Maximum Score/README_EN.md create mode 100644 solution/3200-3299/3276.Select Cells in Grid With Maximum Score/Solution.cpp create mode 100644 solution/3200-3299/3276.Select Cells in Grid With Maximum Score/Solution.go create mode 100644 solution/3200-3299/3276.Select Cells in Grid With Maximum Score/Solution.java create mode 100644 solution/3200-3299/3276.Select Cells in Grid With Maximum Score/Solution.py create mode 100644 solution/3200-3299/3276.Select Cells in Grid With Maximum Score/Solution.ts create mode 100644 solution/3200-3299/3276.Select Cells in Grid With Maximum Score/images/grid1drawio.png create mode 100644 solution/3200-3299/3276.Select Cells in Grid With Maximum Score/images/grid8_8drawio.png create mode 100644 solution/3200-3299/3277.Maximum XOR Score Subarray Queries/README.md create mode 100644 solution/3200-3299/3277.Maximum XOR Score Subarray Queries/README_EN.md create mode 100644 solution/3200-3299/3277.Maximum XOR Score Subarray Queries/Solution.cpp create mode 100644 solution/3200-3299/3277.Maximum XOR Score Subarray Queries/Solution.go create mode 100644 solution/3200-3299/3277.Maximum XOR Score Subarray Queries/Solution.java create mode 100644 solution/3200-3299/3277.Maximum XOR Score Subarray Queries/Solution.py create mode 100644 solution/3200-3299/3277.Maximum XOR Score Subarray Queries/Solution.ts diff --git "a/lcof2/\345\211\221\346\214\207 Offer II 077. \351\223\276\350\241\250\346\216\222\345\272\217/README.md" "b/lcof2/\345\211\221\346\214\207 Offer II 077. \351\223\276\350\241\250\346\216\222\345\272\217/README.md" index b1825d242918d..77c1c6ed37991 100644 --- "a/lcof2/\345\211\221\346\214\207 Offer II 077. \351\223\276\350\241\250\346\216\222\345\272\217/README.md" +++ "b/lcof2/\345\211\221\346\214\207 Offer II 077. \351\223\276\350\241\250\346\216\222\345\272\217/README.md" @@ -395,29 +395,29 @@ class Solution { guard let head = head, head.next != nil else { return head } - + var slow: ListNode? = head var fast: ListNode? = head.next - + while fast != nil && fast?.next != nil { slow = slow?.next fast = fast?.next?.next } - + let mid = slow?.next slow?.next = nil - + let left = sortList(head) let right = sortList(mid) - + return merge(left, right) } - + private func merge(_ l1: ListNode?, _ l2: ListNode?) -> ListNode? { let dummy = ListNode() var cur = dummy var l1 = l1, l2 = l2 - + while let node1 = l1, let node2 = l2 { if node1.val <= node2.val { cur.next = node1 @@ -428,7 +428,7 @@ class Solution { } cur = cur.next! } - + cur.next = l1 ?? l2 return dummy.next } diff --git "a/lcof2/\345\211\221\346\214\207 Offer II 078. \345\220\210\345\271\266\346\216\222\345\272\217\351\223\276\350\241\250/README.md" "b/lcof2/\345\211\221\346\214\207 Offer II 078. \345\220\210\345\271\266\346\216\222\345\272\217\351\223\276\350\241\250/README.md" index 87883e307c733..4515d22dd972f 100644 --- "a/lcof2/\345\211\221\346\214\207 Offer II 078. \345\220\210\345\271\266\346\216\222\345\272\217\351\223\276\350\241\250/README.md" +++ "b/lcof2/\345\211\221\346\214\207 Offer II 078. \345\220\210\345\271\266\346\216\222\345\272\217\351\223\276\350\241\250/README.md" @@ -381,20 +381,20 @@ class Solution { if n == 0 { return nil } - + var mergedList: ListNode? = lists[0] for i in 1.. ListNode? { let dummy = ListNode() var cur = dummy var l1 = l1 var l2 = l2 - + while let node1 = l1, let node2 = l2 { if node1.val <= node2.val { cur.next = node1 diff --git "a/lcof2/\345\211\221\346\214\207 Offer II 079. \346\211\200\346\234\211\345\255\220\351\233\206/README.md" "b/lcof2/\345\211\221\346\214\207 Offer II 079. \346\211\200\346\234\211\345\255\220\351\233\206/README.md" index e3ba908f5fed8..2a1e44460234b 100644 --- "a/lcof2/\345\211\221\346\214\207 Offer II 079. \346\211\200\346\234\211\345\255\220\351\233\206/README.md" +++ "b/lcof2/\345\211\221\346\214\207 Offer II 079. \346\211\200\346\234\211\345\255\220\351\233\206/README.md" @@ -197,7 +197,7 @@ class Solution { dfs(0, nums, [], &res) return res } - + private func dfs(_ i: Int, _ nums: [Int], _ current: [Int], _ res: inout [[Int]]) { res.append(current) for j in i.. n { return } - + for i in start...n { var newCurrent = current newCurrent.append(i) diff --git a/solution/0000-0099/0094.Binary Tree Inorder Traversal/README_EN.md b/solution/0000-0099/0094.Binary Tree Inorder Traversal/README_EN.md index 896dc81bfa685..e17cd744945ff 100644 --- a/solution/0000-0099/0094.Binary Tree Inorder Traversal/README_EN.md +++ b/solution/0000-0099/0094.Binary Tree Inorder Traversal/README_EN.md @@ -23,25 +23,44 @@ tags:

 

Example 1:

- -
-Input: root = [1,null,2,3]
-Output: [1,3,2]
-
+ +
+

Input: root = [1,null,2,3]

+ +

Output: [1,3,2]

+ +

Explanation:

+ +

+

Example 2:

-
-Input: root = []
-Output: []
-
+
+

Input: root = [1,2,3,4,5,null,8,null,null,6,7,9]

+ +

Output: [4,2,6,5,7,1,3,9,8]

+ +

Explanation:

+ +

+

Example 3:

-
-Input: root = [1]
-Output: [1]
-
+
+

Input: root = []

+ +

Output: []

+
+ +

Example 4:

+ +
+

Input: root = [1]

+ +

Output: [1]

+

 

Constraints:

diff --git a/solution/0000-0099/0094.Binary Tree Inorder Traversal/images/screenshot-2024-08-29-202743.png b/solution/0000-0099/0094.Binary Tree Inorder Traversal/images/screenshot-2024-08-29-202743.png new file mode 100644 index 0000000000000000000000000000000000000000..2f2aa00d5e35276ddc6ef0964e1667699a884fe8 GIT binary patch literal 9438 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 literal 0 HcmV?d00001 diff --git a/solution/0000-0099/0094.Binary Tree Inorder Traversal/images/tree_2.png b/solution/0000-0099/0094.Binary Tree Inorder Traversal/images/tree_2.png new file mode 100644 index 0000000000000000000000000000000000000000..94d68f610444708b9c67cef6977343ffdb4dcb79 GIT binary patch literal 26052 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 literal 0 HcmV?d00001 diff --git a/solution/0100-0199/0144.Binary Tree Preorder Traversal/README.md b/solution/0100-0199/0144.Binary Tree Preorder Traversal/README.md index 1317fccd35d10..dfa90bcfd5dd3 100644 --- a/solution/0100-0199/0144.Binary Tree Preorder Traversal/README.md +++ b/solution/0100-0199/0144.Binary Tree Preorder Traversal/README.md @@ -19,55 +19,60 @@ tags: -

给你二叉树的根节点 root ,返回它节点值的 前序 遍历。

+

给你二叉树的根节点 root ,返回它节点值的 前序 遍历。

-

 

+

 

-

示例 1:

- -
-输入:root = [1,null,2,3]
-输出:[1,2,3]
-
+

示例 1:

-

示例 2:

+
+

输入:root = [1,null,2,3]

-
-输入:root = []
-输出:[]
-
+

输出:[1,2,3]

-

示例 3:

+

解释:

-
-输入:root = [1]
-输出:[1]
-
+

+
-

示例 4:

- -
-输入:root = [1,2]
-输出:[1,2]
-
+

示例 2:

-

示例 5:

- -
-输入:root = [1,null,2]
-输出:[1,2]
-
+
+

输入:root = [1,2,3,4,5,null,8,null,null,6,7,9]

-

 

+

输出:[1,2,4,5,6,7,3,8,9]

+ +

解释:

+ +

+
+ +

示例 3:

+ +
+

输入:root = []

+ +

输出:[]

+
+ +

示例 4:

+ +
+

输入:root = [1]

+ +

输出:[1]

+
+ +

 

提示:

  • 树中节点数目在范围 [0, 100]
  • -
  • -100 <= Node.val <= 100
  • +
  • -100 <= Node.val <= 100
-

 

+

 

进阶:递归算法很简单,你可以通过迭代算法完成吗?

diff --git a/solution/0100-0199/0144.Binary Tree Preorder Traversal/README_EN.md b/solution/0100-0199/0144.Binary Tree Preorder Traversal/README_EN.md index 30c53aa139c1a..7f374a4551f34 100644 --- a/solution/0100-0199/0144.Binary Tree Preorder Traversal/README_EN.md +++ b/solution/0100-0199/0144.Binary Tree Preorder Traversal/README_EN.md @@ -23,25 +23,44 @@ tags:

 

Example 1:

- -
-Input: root = [1,null,2,3]
-Output: [1,2,3]
-
+ +
+

Input: root = [1,null,2,3]

+ +

Output: [1,2,3]

+ +

Explanation:

+ +

+

Example 2:

-
-Input: root = []
-Output: []
-
+
+

Input: root = [1,2,3,4,5,null,8,null,null,6,7,9]

+ +

Output: [1,2,4,5,6,7,3,8,9]

+ +

Explanation:

+ +

+

Example 3:

-
-Input: root = [1]
-Output: [1]
-
+
+

Input: root = []

+ +

Output: []

+
+ +

Example 4:

+ +
+

Input: root = [1]

+ +

Output: [1]

+

 

Constraints:

diff --git a/solution/0100-0199/0144.Binary Tree Preorder Traversal/images/screenshot-2024-08-29-202743.png b/solution/0100-0199/0144.Binary Tree Preorder Traversal/images/screenshot-2024-08-29-202743.png new file mode 100644 index 0000000000000000000000000000000000000000..2f2aa00d5e35276ddc6ef0964e1667699a884fe8 GIT binary patch literal 9438 zcmb_?`9DIBWVzM)`lr4KhC}IdH zWX3v{n6ZzseUJD1`zL&U@OZg*&bjy8bI*Ccp3mp&KEG{ZaE6JO2?BwfxnZbl4&osM zLT3s)1^)90@KFGP&d1z98&c8Fw+IdxT(pd}Adru#%=`CFf@8*~hPFNs2usKDA6>U+ z$pZ-Fvd;}&Ez3a1mA{PdOh=A1C_65SN%xX?-h3pt|0h)ZyLrv~QZz@Ja3@SkLPDIK z@H4aW3hJfIIl{BYe=ez}`EiH*`lJ|_&b`c5S z-)JOFgy7Y?h1FmXzE0BvMhHt3k^VYs6r89DLqyPDq(WF?{x440`d4~w|Fa!y4%!$Q zeavB)y>a=Y4+hkaR=MYnjiEPqT0sz-25({Gw~ER9 zXo}X-U_MlRcQ$?2yJ5H(f{u5J!aHmUgzuZ3IvhoX7qVPX8F*CLqCeO3$^s+X70b-! zx<32;TJWapO;gk2)xS*^r2cGiR4aOk4Khi3M)XOXD76q(@tHrpwKQVn->svqJ#6Je zN%dR&S!fNvcC?ERUwGq^V`fj+oD}V8onz$~7$vG!UQS)ePt|pI$Bx}E?@Z)Myrh@# zj0=S}yDTDtm5A8+z3o5w(W!gkV>f?3h&_n`V1#lfPo2V+|8oEJfv2;(+d@+lqGw<* z)E>(`!U-W)Ia8Ev&`st3D`Pdzy_{I9@~p9Gbu{zSp9MG8H85X&|?2`StbLSp-7MNtKtWOA7AL88Wn8K_UT>7%~lFutyAqiid z==ei7&0++a+Z7!`v$gT<9UX3eJ~`KT&FCj2C+pPp-;x`|+yyiq$^(Ylo!!ksnIIgl^kP*i^k& zGyU}kuW@uGL<&8gx&!@k%MOYWsM@7;z}>o2E)=DHtv&(2I4^p_1)ozc0hu3Aq>7s6 zyfpo}7IYw#s+NZhZt`6`r%w4o?_G5kRl*>fScmic^GW!X1Tx|9fE-?yp#H(OT0dox z(BLDgr>9pc5%IC+G(v;~bat7mt~P%0^q^NVdMzuuy!CIoxAg45XPkpSI@}{?R>SDHZ@k^3s@cRB z52*yKzPpib^Dvkfd`O}C zEx9ZZ6GWg(Dln!5ea&IRSdc>JL!q)Sz;!w$cJF5nQ4kxg^k7^>QBhGC`0FIL z(}g1|YNChhLX^9wJfg_M(lTUujjY6=9h~79115a8p^1F086PMjkW^$$Avci`yER!u zl!>U5OzgMGkfdC2v&kU-Ps`WdDthDrz$yXrHy}c-bsu>_Z%ciH7M+T|Kvs=Nt6@ao zKc}k(JQ-^WsKj2Uucw;ueT2>b6rm>36AM-m`08-t7rLM<`n#7I2=QyB#$c~`e7wm@ zDe2Md5o}Oh}Sm+kZm+N*XF_~ZH2aYy}OtJS-YPT|7*jLAD%l`k$ zSf~ZyrFwsCadD{F;>}g(r(y7-0SRhSW~N=O`>S_}{r&nWeBz{EV7X-&xq>%u>`0+a zC(2lMIx0SyFqD&%^ZoZ*PPtDpVzB0P7#gjn;5rbI!moZaXnocUx#v1wSKgeZarX-Z zNhh0;fpY;{SS>a#?k9C^2HD9^ZFk<=UU3_(a9}@sHWv%&`l(1|WMpK&aKSiT#Q25L z!*Luc{6Ki;`RG1LxCZhg&x7*k-=FF^mEegje5MQryObz%XWgUOZK$Y}DMGo11@UOK z;==CU-q7s#bfli?F`ijF2I=vCT_@oyu>clU{U^7mb)z6p%r@^ePP?osZ=zdHuZR*6c zyb@xKhYM8Hov?|hTpI67;E>dfJaJO@@#7Dl1K0Afv^dY!UHzE&_{6XST4@67-VT{7 z#|m}&yy7h+P>FD87n+pI}EbZvx{$1hmQyRT5 z#VsB%?{%H`eAb&OQ--a5_~Z4(5W&Aq0d3B3hAC*-Zv^!pcooy%MKSDpiJTnKP&jA! z;coHR{hXSbYdq9bXLz68?@V~^+?!Dir$JU}UCuex4u3cl_HDI=ShnQUol;oYN=r~9O>Ba-*!x^< z*RS5`P+dxOWun2tBzi@;>YM#@HP(31!EgQOAhjlG_`k)!O-e1h^KZdCo;En8VdU;E z(U+x=X!XJ7Vsul;&XaZD-Z{Dmu8(4l&7bdlNFS}3A<+fW89DY!%gLqH0ZQbupPZPO z|LvRMt^!!Qg&>!v<>loKA6*P#4Uw=F z_Lo}L!XQ6dr$fb^hP9po?X$}DSO0LBc61gC9nnVHWZU7VBZ-erOhJV%QhBwgI5Al3 zL(uF*ROQ7Oflti1QTBHDAJF3TRD4J*@evCMk;HLGJ3N3HSI-zDuzD)WQwXLpARyK>2a(K*KHtNn0Tq~vKd(jcV48}z2LW8-EePNe;N%6!RQ&QqDoZ4#qm~s7 z)uLWxjv~v#G-MeFk*r~wlnYE#0g4O+9BUX!n{t6=DnNumfHe%NP0`Y(W}n2xmw_KN zDN~-TVJ;vXX;N3V8q3bg8;?Ft9pA-gHE9a&PTxmu1M~y zxoEUkDlrJGGPQfcVTcKZ7*se2Y%wTL5aeS}C>Y`ab9<#IgTSXVQ={-Gc$_A6D~cF> zk2Ne*ka|}v1_iotvrO%T!Vs@dOzn7paB6DDL3%3pkmYUyJ(T4(pl%C&N`!*RmXI>6 z^28IRmA_4yiXLOSZ3o-u9a_y^2895zSVOuSN{9uz76&>yTJ31;#OjuZtpF!HO*>G)b zZT%5-v@LjRX)v0|nnt_}9 z!X;&A8M?I1!mlO*PX} z^ki@Nj&=f)s|UEN9@zU|_sDHBDHl|W>UcYRvIK*-|A}ks=)@Lparuz?Ie2(@+{=z9 zuOWo-2rw00OUsv(nx*?-c$buwZ9U`+%*|hLs|VLm-bp_L=mr4Aszho#f*5T*;YL*_ zQSt!O%`;59bRVP!th>~zv#zf0Gsl+T=SG>*rP#@*s_^D%lP6mTfbIbJm8$I8XxRBL zTG^C&jMvpTb+f4WF0dlY?Oy$=L{-+g-nsyRG*9bGX#~uu`Yl~<+6MD$fh5R!P3xv< zgoh0ln+i<%HzAQ4pRsVqfR&N3)~v$`AN=>dRlsj91Zfu`=2Q=&v1M1$W$;3?YA)+fs=| z7+FyPx3cDyyB~w4A>PeITbBdglQZs9W((dAas*CTeKhbsQVjxRiU~55%MMM+0(US2 zOmnUUovnk%T9#@92EyXEFrbz5iKSi}~1AMjW)# zrWLK+LTP8N@gbQUlUeMNCm?NC_m_W_=ihuKQHmvNQE-xA?dp5BY-OMsemwz-#bWHU zmr&nZB~v6CY@v)9=3tMpn%s_fIN?|0>gvMgesJig#aRd7Pn*s->E}V*S&gu-e_x zy&@TF7PEiPBk%ut?z>gnm5`X24&S)binc|fneEV3!=JroW<&S(R+~(bNgJbMbeonN zh|P{jqpN>^aB$y@C0Ckk@ndz6H{;B1|N2jGnszs5sIHVicp@jpt1Qopy3LQ80E{UM zOXc>1Kx7?)gBzbEC9$7Ze0-aOURa8&rRSuh$D+gGu3mY?%vY??sL8uDk^aXy5|bY0 zHVloQ?83v%7GlX?#n~Q?X306ll{mIE29xYr(N#YH>d#g0boH_t=&MU;e`^1iX{vVh zLD}cUJIZct&%c)^BtW);tnUgB1~?^*x$@;$3yO&u9_z3KvZl4bl@9qo>$g6~`3My6 zR*wz}r^q#kRgJy9wzT5Tenn|gQ`5~|>As)>9<#eF^K*M}!ggE?*(%S1=ld!TTMOIc zWdK*$nB3SLjWbHlFK;q`u(5JO0U2JQfc)HdhQ3W(ZWw#d5q~eLa42_Wd{JgMz-jGp z{eS(OtP;s4YT5>DBPUhbU|7pShFzD|rr5g@j{jQAFg~I=x$+{XKavjg65%PG_=ye5 z9eF$S+Nj=5=6)&bf$!P%mtRSTiO$eZ_^$4wa*iH)&wV!vGJdTazr%%tc2Ao<)=OZQ zb7oOLVhVNJYDn~U`;bWbHMlnzz`EbN?Did7EkQlByiB8O#K&BtD2HilpU6gp+9A>O zV2x4_b_k^pzQ0(?t}nbjktr~!6h9{N>+)$f$DwCrP&H(m4}F8I7e zXXs16*7Qhxvqzp@ZLRFGBnZJa@*&;+uWwhrbW(^%K;}X zN;&D>rWzNA6=+2r=+hnLEtSTX5ciZKg+wss?Y8n+4{i2rm$? zTc1zQZ{>HH{o2$-PhBGg!w@!?JSUsIw|F)R2Xd9k=IM5(gV5^jpCCpAm1ojuZ_lziC`I?Vf8RRJu!X`OtHwuk1iwX)Zv*EYWT{kFPVnz5%DmfXu zk5+n+FZjcqV4;(wpahmz!baIDehC0f^thz&R6VH6RgL8oxN??*Ll{c_H&$zeOv*56 z3;mm7*P5?QUi?KWTVpy1(BYHf`c9I`$G#opRWtCYVu0c8@1x6- z^(Z)VDZ85YUCHN%-g>r{O8j|cGEN&UP>G%vGe)lFB(Cqzg!{U8Z75-CN&FPV`pma{ zgH$UHLSzNPCSkO9Mv!}SvS4T`y8CL=E+U4DA^V!!iwP7eh8SI#rRX6+o{_PuF+_fn ze13TAGulu43`)+qhaKzKqJk{Btp#wdk#@J?tdRb|3t=PIsrFdxeT`R=)n zwS0-zlQ?ManwVnFyZgNvQpYA2vNjd8=JUr?EC5k2Qg?+{wWmuerrHDW#I-r%2} zlVjr9cA&Vm`ghz#2M_XL0v-LS0YHV^K)T1?hwH?hPD>@ymh@V#EG$Kjen7Q3PEIBQ z?A_V%s}J4tcONcE<13h5E|!HM0!Nz2t&%Q8hvvYK*oEih(G6IOv_s?VW7A+HAh!(e z2o#&3GQCV?UYR_?j}Z>v*_96C1PL@@G;=0olH9Vx-VIOZ$ zViI{{FA7;^Wd>ZHZ$1$(>IG{bFIJb(Ln7uXJQpiT{!N|F&I;+ex|VQXbN!E@k&%V{ z2fy8Q=QY}LWg><0RL*b75;<}nWdDTowVR_e_D=iC{EXeE>uZk{FUxlxoa@r zKo5fm1tcsca3MGTEAWIW>wZJQ{%gz}K&8qY9y?$$F)`189rqj)M!WG&HNeE9MQNY> zM#(eh+4JXVgdM;$IRT-yuwQ{XZQ-s4{A_7EFKY7c{n|`-x@eVmZVFIt-%CGKI|43P zFwx-C>$gm;!L9iB`uziBSFC9T&4jBauJ^K`{}g(TU^)C&Cv2q;@3{cTYF_|@z<2L1 zX~bWb902OGxTfZZ`1K&+w;vwStKE7HXR?LDT76i7P>+m^^loAUAgxlZ6E4{-tuDY$ zT~uaK(~u-TvTz6iX`yKS;lkAX(*^n=!Od1?9Ml4YGdO6+#m(atqH}RGSd)U2g|z_Y zC(EE+$#pCna*t)hpQwRlph80829|*)2?0kyp)`RbpjVpOdqGc{4rMCEYeAU;YdK^^ ze-?tZvH3|m|*f}2m(83^;N!Jp4E5V}C%VIUNNz`;O>3*KCa9O#g`NLB2}Mb)}VH7N>F1JP!z zXk)?6yO%R5x5J^S!^4(u*gzivcCk} zeCyS`)&kBo1%3!X$`x#~8n+=4;L^(<`^NymoJ$fpB>ffs9UdO8L%u+xzJApmYxI*m zmg!-2R^@i<8-7c}xwNh2bPUGpf_M!758^kX&$7Dbq#CfcUY>s15qG9CZs&>J+J{Lx z0amkYjKD)VA(?2+ScF~Z12^N@ z;lW-adUyRfu%%)3zo&lzSo~9zV#-r?m>I3TGdMx$Zvf#x>*b`f9n1Q z-gCTsJ7a5kG!gg`YhV-i?6@uhXT34I{?Vwk`_BT#Gu*OYMD2F%|5Urc6`oAI23B0` zb2*%M-QveZ~Y{8-4m!tj`s9s?V2QfYZ z@}t0y!ga+)v$AGwB4ANjMhvT6cb&YT0{<9dD{s8Tau-)o=_kn&%9EVy^9 z7!)PU6FH?UIlcsrog!3}&ww(-+#)loszyiV6goWvhpK;)-F(!?)%h#fGoGhy>CN- zblk>e#Co?O{UmNV?H2ig*oHi(i{TtJh*?eF(N_T_W*_}1o8RRVBSUo7cOB#&kZa?i zGw;-b%x8OE85I=187hO2elAV(n@0ArJ?55j9y({|rJ{5Amt!B+vWNd=Nqwln)ArQ; zSF!5IjxYSRVQN0ItpA05tGv~N2bcA9b-$%Ohv)-qnuNy`14`BN=TXutEdwQwe6}|Y z#S!aUi)q^RhaagNSYw5oRF~GXi@r4K4T~szV54VF5_To9Y~|SVJIvrDrq|p5{0}g8+vtqBaf?#`Tb8kJoko0(ZEY_ z!p{PD)}RNp$5F+w&Drnl9XiX;x?V$J|7pfIlfm#F&ho;-WG{dsyq_7-Xa>Nvm0ST)Vr5GqEHogl$GJxp0M{!Qkc91_ZW=fq_J1i&{YEW z6*)Px$zB=TPX+(0^e8=Az=CoS??9ov-|D|0KOVykauuHc_6L~W!-LJQCso2H-+A3` z#;a{qRNnc`5b_jF5vMSezrC6!VzSvRVq72`LjEx4k80Ewx3vw3y*=4%>$H>Hx%Xp_ zx|&_s zzkCNzX{zLqr^`6j8rp>AzHETRqEs<7t%9LnN5(}`^-a#J2tAEk?@Wt_ZM8HPYqa zAOEseM;pqxDNMuYMy9m+^qP9jYP{KSlb&&K!OkU>S2$6sbPvbh?6}P&5qT9_bMPvg zsoF*B(>H?XR9u}D8iW2E2Jp9wL)hq0s5vFx(A~UZw`eR_m zUr=;P1QfiCDZ;D9eT|-;er|&b3|w=L8EU4h4x9CXVRTLdW}QZ$F||mR2#&aFBxM|4 zeWj8iPf{G;-`$v#PyuxokXL40>tlYES`?SudUMqm)ad`~mGO#4_pjP$4!KAbDcJiD z<<7V)YJYlvCwEso@3t~_n<%vTwHj~UVLp$z^dmh*ZF%?TYgZTccr15RD}n223G(F< zp{))3n_1?RU8SRXgMZG54{Lv^Kk_h zlvzOe@;~D%8P=^UG5D1xzhx29&-xjyGwA3#94Tl!sPrEw4V&M(m4sbN7Wg(5vdt!P z>%AxjZH}Z%Dh9~;0^6U_4UOB2W&zRP;JsFR(q<(vR*;;myu z42kc<)C1GYqwt^FkAOMe19dw}R4x%`148lryDBxItv=PW?T{u36qm7yKpn7*WB8kU zGNcY`1F_QlvmKKCDFPak>%TBuO?=l}S&x|m;%MLJ*s~owK~%4MyjF>yDIJ7Z+o~vNEI{+=Jl}0_W%Hlz}ys3tZl@I*;?(a74#8&P7dBy}r>PmA?>Fs=meF z4J;2uoCGS-9Mgk9yr#U4D$WVM>AxJLPgHpHYXGp3(!jOpB@4);%U;D{GQ}d4Prvm` zS1J{F+9*e6;-AO6c-3rTbko|zi;Y{K_wAbe%ijr?gzT&Wqh3^5UN%Aod|FcJN2T2R zBeAgviO;NLq|j@iA!49Lf2TSH1t{~UlO!$~w_5PEh4Q^qG9It|21*>7>fUK~%w2Wy zIs?hSj-ZYjnVM$8dnj5F#r5;{Px<^;g()jqVO~c4qbxwXM}FLTFU%nDC6dp}3l2GC v!9kx29v`xzA)tsu#|QgAJmK~1P~bvZa|KJ}Lx1p166A)SiEf4V-KhTuk|E)^ literal 0 HcmV?d00001 diff --git a/solution/0100-0199/0144.Binary Tree Preorder Traversal/images/tree_2.png b/solution/0100-0199/0144.Binary Tree Preorder Traversal/images/tree_2.png new file mode 100644 index 0000000000000000000000000000000000000000..94d68f610444708b9c67cef6977343ffdb4dcb79 GIT binary patch literal 26052 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
jBD{W4=Zb?hBS!AaCBs`{=aFm!H8 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 literal 0 HcmV?d00001 diff --git a/solution/0100-0199/0145.Binary Tree Postorder Traversal/README.md b/solution/0100-0199/0145.Binary Tree Postorder Traversal/README.md index 8ad81248c46b4..becdfc30874b1 100644 --- a/solution/0100-0199/0145.Binary Tree Postorder Traversal/README.md +++ b/solution/0100-0199/0145.Binary Tree Postorder Traversal/README.md @@ -23,26 +23,45 @@ tags:

 

-

示例 1:

- -
-输入:root = [1,null,2,3]
-输出:[3,2,1]
-
- -

示例 2:

- -
-输入:root = []
-输出:[]
-
- -

示例 3:

- -
-输入:root = [1]
-输出:[1]
-
+

示例 1:

+ +
+

输入:root = [1,null,2,3]

+ +

输出:[3,2,1]

+ +

解释:

+ +

+
+ +

示例 2:

+ +
+

输入:root = [1,2,3,4,5,null,8,null,null,6,7,9]

+ +

输出:[4,6,7,5,2,9,8,3,1]

+ +

解释:

+ +

+
+ +

示例 3:

+ +
+

输入:root = []

+ +

输出:[]

+
+ +

示例 4:

+ +
+

输入:root = [1]

+ +

输出:[1]

+

 

diff --git a/solution/0100-0199/0145.Binary Tree Postorder Traversal/README_EN.md b/solution/0100-0199/0145.Binary Tree Postorder Traversal/README_EN.md index 784409dcf1a54..c95cbba9496cf 100644 --- a/solution/0100-0199/0145.Binary Tree Postorder Traversal/README_EN.md +++ b/solution/0100-0199/0145.Binary Tree Postorder Traversal/README_EN.md @@ -23,25 +23,44 @@ tags:

 

Example 1:

- -
-Input: root = [1,null,2,3]
-Output: [3,2,1]
-
+ +
+

Input: root = [1,null,2,3]

+ +

Output: [3,2,1]

+ +

Explanation:

+ +

+

Example 2:

-
-Input: root = []
-Output: []
-
+
+

Input: root = [1,2,3,4,5,null,8,null,null,6,7,9]

+ +

Output: [4,6,7,5,2,9,8,3,1]

+ +

Explanation:

+ +

+

Example 3:

-
-Input: root = [1]
-Output: [1]
-
+
+

Input: root = []

+ +

Output: []

+
+ +

Example 4:

+ +
+

Input: root = [1]

+ +

Output: [1]

+

 

Constraints:

diff --git a/solution/0100-0199/0145.Binary Tree Postorder Traversal/images/screenshot-2024-08-29-202743.png b/solution/0100-0199/0145.Binary Tree Postorder Traversal/images/screenshot-2024-08-29-202743.png new file mode 100644 index 0000000000000000000000000000000000000000..2f2aa00d5e35276ddc6ef0964e1667699a884fe8 GIT binary patch literal 9438 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 literal 0 HcmV?d00001 diff --git a/solution/0100-0199/0145.Binary Tree Postorder Traversal/images/tree_2.png b/solution/0100-0199/0145.Binary Tree Postorder Traversal/images/tree_2.png new file mode 100644 index 0000000000000000000000000000000000000000..94d68f610444708b9c67cef6977343ffdb4dcb79 GIT binary patch literal 26052 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
jBD{W4=Zb?hBS!AaCBs`{=aFm!H8 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 literal 0 HcmV?d00001 diff --git a/solution/0200-0299/0290.Word Pattern/README_EN.md b/solution/0200-0299/0290.Word Pattern/README_EN.md index 2a8f2bd91b3a0..90a184f5a50c8 100644 --- a/solution/0200-0299/0290.Word Pattern/README_EN.md +++ b/solution/0200-0299/0290.Word Pattern/README_EN.md @@ -19,29 +19,47 @@ tags:

Given a pattern and a string s, find if s follows the same pattern.

-

Here follow means a full match, such that there is a bijection between a letter in pattern and a non-empty word in s.

+

Here follow means a full match, such that there is a bijection between a letter in pattern and a non-empty word in s. Specifically:

+ +
    +
  • Each letter in pattern maps to exactly one unique word in s.
  • +
  • Each unique word in s maps to exactly one letter in pattern.
  • +
  • No two letters map to the same word, and no two words map to the same letter.
  • +

 

Example 1:

-
-Input: pattern = "abba", s = "dog cat cat dog"
-Output: true
-
+
+

Input: pattern = "abba", s = "dog cat cat dog"

+ +

Output: true

+ +

Explanation:

+ +

The bijection can be established as:

+ +
    +
  • 'a' maps to "dog".
  • +
  • 'b' maps to "cat".
  • +
+

Example 2:

-
-Input: pattern = "abba", s = "dog cat cat fish"
-Output: false
-
+
+

Input: pattern = "abba", s = "dog cat cat fish"

+ +

Output: false

+

Example 3:

-
-Input: pattern = "aaaa", s = "dog cat cat dog"
-Output: false
-
+
+

Input: pattern = "aaaa", s = "dog cat cat dog"

+ +

Output: false

+

 

Constraints:

diff --git a/solution/0500-0599/0572.Subtree of Another Tree/README.md b/solution/0500-0599/0572.Subtree of Another Tree/README.md index 009bf3921b953..3495ab18cc453 100644 --- a/solution/0500-0599/0572.Subtree of Another Tree/README.md +++ b/solution/0500-0599/0572.Subtree of Another Tree/README.md @@ -26,31 +26,31 @@ tags:

二叉树 tree 的一棵子树包括 tree 的某个节点和这个节点的所有后代节点。tree 也可以看做它自身的一棵子树。

-

 

+

 

示例 1:

- +
 输入:root = [3,4,5,1,2], subRoot = [4,1,2]
 输出:true
 

示例 2:

- +
 输入:root = [3,4,5,1,2,null,null,null,null,0], subRoot = [4,1,2]
 输出:false
 
-

 

+

 

提示:

  • root 树上的节点数量范围是 [1, 2000]
  • subRoot 树上的节点数量范围是 [1, 1000]
  • -
  • -104 <= root.val <= 104
  • -
  • -104 <= subRoot.val <= 104
  • +
  • -104 <= root.val <= 104
  • +
  • -104 <= subRoot.val <= 104
diff --git a/solution/0500-0599/0572.Subtree of Another Tree/images/1724998676-cATjhe-image.png b/solution/0500-0599/0572.Subtree of Another Tree/images/1724998676-cATjhe-image.png new file mode 100644 index 0000000000000000000000000000000000000000..87f9dd1fa1106955426e5b857e9d325ac3eea770 GIT binary patch literal 78110 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 D(*WZ^ literal 0 HcmV?d00001 diff --git a/solution/0500-0599/0572.Subtree of Another Tree/images/1724998698-sEJWnq-image.png b/solution/0500-0599/0572.Subtree of Another Tree/images/1724998698-sEJWnq-image.png new file mode 100644 index 0000000000000000000000000000000000000000..58e5c57a6aba0a2b488bdf9899d7f5d3979ba0c7 GIT binary patch literal 54498 zcmY&=b6BNa*l)Hy*)}J;CO6r(ZJU$bgsG{?O}6bO+nQ>!b)Nlx=R4PR{@7REdp~R4 z&wc;2idI&XMn=F#00RRXYfxCS2jE(#XUkCd7wi#dy9( zq*91k$V!$aI?=IHi6bP@{fzT;y0~zk;!jAp*tE=ld&}$We&Mg2COLiaTl871&%3L% z>|A=To_?;JR{yy8c)y@Ox52^t0o{^&`tjENv7}luQekjcj=kcldlhemV}+C14eisu z^6JVxWf2U{c-j5&((Tl7=})y>(-wunvan(J@w~MD{t)=_04CYMI0-QcVIExZ_pAF{ zltu7h6Brt5*YK6i>bvmAjqt~<(ns;_fXLH2bCZxlKz)yyZh`2lS@T8IB6Iy+(C12) zf{P)ZRFc^tTbuYa=vA>vEv_XAS^{|%KiJdikLQ{XjO^{^?ljEVkt&QLlVI*xlC<
  • 1 <= nums.length <= 15
  • 110 <= nums[i] <= 489
  • nums 表示深度小于 5 的有效二叉树
  • +
  • nums 以升序排序。
  • diff --git a/solution/0600-0699/0666.Path Sum IV/README_EN.md b/solution/0600-0699/0666.Path Sum IV/README_EN.md index a4596f1ebefdb..a2a7c91da890e 100644 --- a/solution/0600-0699/0666.Path Sum IV/README_EN.md +++ b/solution/0600-0699/0666.Path Sum IV/README_EN.md @@ -58,6 +58,7 @@ The path sum is (3 + 1) = 4.
  • 1 <= nums.length <= 15
  • 110 <= nums[i] <= 489
  • nums represents a valid binary tree with depth less than 5.
  • +
  • nums is sorted in ascending order.
  • diff --git a/solution/0700-0799/0703.Kth Largest Element in a Stream/README.md b/solution/0700-0799/0703.Kth Largest Element in a Stream/README.md index 4d45554a49337..8c41bb2059a78 100644 --- a/solution/0700-0799/0703.Kth Largest Element in a Stream/README.md +++ b/solution/0700-0799/0703.Kth Largest Element in a Stream/README.md @@ -73,12 +73,11 @@ kthLargest.add(9); // 返回 8 提示:
      -
    • 1 <= k <= 104
    • 0 <= nums.length <= 104
    • +
    • 1 <= k <= nums.length + 1
    • -104 <= nums[i] <= 104
    • -104 <= val <= 104
    • 最多调用 add 方法 104
    • -
    • 题目数据保证,在查找第 k 大元素时,数组中至少有 k 个元素
    diff --git a/solution/0700-0799/0703.Kth Largest Element in a Stream/README_EN.md b/solution/0700-0799/0703.Kth Largest Element in a Stream/README_EN.md index 724a7f989ba0e..1504f02c955ea 100644 --- a/solution/0700-0799/0703.Kth Largest Element in a Stream/README_EN.md +++ b/solution/0700-0799/0703.Kth Largest Element in a Stream/README_EN.md @@ -72,7 +72,7 @@ kthLargest.add(9); // return 8

    Constraints:

      -
    • 1 <= nums.length <= 104
    • +
    • 0 <= nums.length <= 104
    • 1 <= k <= nums.length + 1
    • -104 <= nums[i] <= 104
    • -104 <= val <= 104
    • diff --git a/solution/0700-0799/0733.Flood Fill/README.md b/solution/0700-0799/0733.Flood Fill/README.md index 795669a4dc2c3..8f767ef589da4 100644 --- a/solution/0700-0799/0733.Flood Fill/README.md +++ b/solution/0700-0799/0733.Flood Fill/README.md @@ -21,9 +21,9 @@ tags:

      有一幅以 m x n 的二维整数数组表示的图画 image ,其中 image[i][j] 表示该图画的像素值大小。

      -

      你也被给予三个整数 srscnewColor 。你应该从像素 image[sr][sc] 开始对图像进行 上色填充

      +

      你也被给予三个整数 srsccolor 。你应该从像素 image[sr][sc] 开始对图像进行 上色填充

      -

      为了完成 上色工作 ,从初始像素开始,记录初始坐标的 上下左右四个方向上 像素值与初始坐标相同的相连像素点,接着再记录这四个方向上符合条件的像素点与他们对应 四个方向上 像素值与初始坐标相同的相连像素点,……,重复该过程。将所有有记录的像素点的颜色值改为 newColor 。

      +

      为了完成 上色工作 ,从初始像素开始,记录初始坐标的 上下左右四个方向上 像素值与初始坐标相同的相连像素点,接着再记录这四个方向上符合条件的像素点与他们对应 四个方向上 像素值与初始坐标相同的相连像素点,……,重复该过程。将所有有记录的像素点的颜色值改为 color 。

      最后返回 经过上色渲染后的图像 

      @@ -34,7 +34,7 @@ tags:

      -输入: image = [[1,1,1],[1,1,0],[1,0,1]],sr = 1, sc = 1, newColor = 2
      +输入: image = [[1,1,1],[1,1,0],[1,0,1]],sr = 1, sc = 1, color = 2
       输出: [[2,2,2],[2,2,0],[2,0,1]]
       解析: 在图像的正中间,(坐标(sr,sc)=(1,1)),在路径上所有符合条件的像素点的颜色都被更改成2。
       注意,右下角的像素没有更改为2,因为它不是在上下左右四个方向上与初始点相连的像素点。
      @@ -43,8 +43,8 @@ tags:
       

      示例 2:

      -输入: image = [[0,0,0],[0,0,0]], sr = 0, sc = 0, newColor = 2
      -输出: [[2,2,2],[2,2,2]]
      +输入: image = [[0,0,0],[0,0,0]], sr = 0, sc = 0, color = 0
      +输出: [[0,0,0],[0,0,0]]
       

       

      @@ -55,7 +55,7 @@ tags:
    • m == image.length
    • n == image[i].length
    • 1 <= m, n <= 50
    • -
    • 0 <= image[i][j], newColor < 216
    • +
    • 0 <= image[i][j], color < 216
    • 0 <= sr < m
    • 0 <= sc < n
    diff --git a/solution/0700-0799/0733.Flood Fill/README_EN.md b/solution/0700-0799/0733.Flood Fill/README_EN.md index a2bdb133ce1e0..baa48975fdd5c 100644 --- a/solution/0700-0799/0733.Flood Fill/README_EN.md +++ b/solution/0700-0799/0733.Flood Fill/README_EN.md @@ -29,21 +29,32 @@ tags:

     

    Example 1:

    - -
    -Input: image = [[1,1,1],[1,1,0],[1,0,1]], sr = 1, sc = 1, color = 2
    -Output: [[2,2,2],[2,2,0],[2,0,1]]
    -Explanation: From the center of the image with position (sr, sc) = (1, 1) (i.e., the red pixel), all pixels connected by a path of the same color as the starting pixel (i.e., the blue pixels) are colored with the new color.
    -Note the bottom corner is not colored 2, because it is not 4-directionally connected to the starting pixel.
    -
    + +
    +

    Input: image = [[1,1,1],[1,1,0],[1,0,1]], sr = 1, sc = 1, color = 2

    + +

    Output: [[2,2,2],[2,2,0],[2,0,1]]

    + +

    Explanation:

    + +

    + +

    From the center of the image with position (sr, sc) = (1, 1) (i.e., the red pixel), all pixels connected by a path of the same color as the starting pixel (i.e., the blue pixels) are colored with the new color.

    + +

    Note the bottom corner is not colored 2, because it is not 4-directionally connected to the starting pixel.

    +

    Example 2:

    -
    -Input: image = [[0,0,0],[0,0,0]], sr = 0, sc = 0, color = 0
    -Output: [[0,0,0],[0,0,0]]
    -Explanation: The starting pixel is already colored 0, so no changes are made to the image.
    -
    +
    +

    Input: image = [[0,0,0],[0,0,0]], sr = 0, sc = 0, color = 0

    + +

    Output: [[0,0,0],[0,0,0]]

    + +

    Explanation:

    + +

    The starting pixel is already colored with 0, which is the same as the target color. Therefore, no changes are made to the image.

    +

     

    Constraints:

    diff --git a/solution/1000-1099/1047.Remove All Adjacent Duplicates In String/README.md b/solution/1000-1099/1047.Remove All Adjacent Duplicates In String/README.md index 52a82a4546099..5b2af6a4784cf 100644 --- a/solution/1000-1099/1047.Remove All Adjacent Duplicates In String/README.md +++ b/solution/1000-1099/1047.Remove All Adjacent Duplicates In String/README.md @@ -19,9 +19,9 @@ tags: -

    给出由小写字母组成的字符串 S重复项删除操作会选择两个相邻且相同的字母,并删除它们。

    +

    给出由小写字母组成的字符串 s重复项删除操作会选择两个相邻且相同的字母,并删除它们。

    -

    在 S 上反复执行重复项删除操作,直到无法继续删除。

    +

    s 上反复执行重复项删除操作,直到无法继续删除。

    在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。

    @@ -29,10 +29,11 @@ tags:

    示例:

    -
    输入:"abbaca"
    -输出:"ca"
    +
    +输入:"abbaca"
    +输出:"ca"
     解释:
    -例如,在 "abbaca" 中,我们可以删除 "bb" 由于两字母相邻且相同,这是此时唯一可以执行删除操作的重复项。之后我们得到字符串 "aaca",其中又只有 "aa" 可以执行重复项删除操作,所以最后的字符串为 "ca"。
    +例如,在 "abbaca" 中,我们可以删除 "bb" 由于两字母相邻且相同,这是此时唯一可以执行删除操作的重复项。之后我们得到字符串 "aaca",其中又只有 "aa" 可以执行重复项删除操作,所以最后的字符串为 "ca"。
     

     

    @@ -40,8 +41,8 @@ tags:

    提示:

      -
    1. 1 <= S.length <= 20000
    2. -
    3. S 仅由小写英文字母组成。
    4. +
    5. 1 <= s.length <= 105
    6. +
    7. s 仅由小写英文字母组成。
    diff --git a/solution/1200-1299/1260.Shift 2D Grid/README.md b/solution/1200-1299/1260.Shift 2D Grid/README.md index 7fd9ccc6ef18b..b72cf652cc2b3 100644 --- a/solution/1200-1299/1260.Shift 2D Grid/README.md +++ b/solution/1200-1299/1260.Shift 2D Grid/README.md @@ -20,19 +20,19 @@ tags: -

    给你一个 mn 列的二维网格 grid 和一个整数 k。你需要将 grid 迁移 k 次。

    +

    给你一个 mn 列的二维网格 grid 和一个整数 k。你需要将 grid 迁移 k 次。

    每次「迁移」操作将会引发下述活动:

      -
    • 位于 grid[i][j] 的元素将会移动到 grid[i][j + 1]
    • -
    • 位于 grid[i][n - 1] 的元素将会移动到 grid[i + 1][0]
    • -
    • 位于 grid[m - 1][n - 1] 的元素将会移动到 grid[0][0]
    • +
    • 位于 grid[i][j]j < n - 1)的元素将会移动到 grid[i][j + 1]
    • +
    • 位于 grid[i][n - 1] 的元素将会移动到 grid[i + 1][0]
    • +
    • 位于 grid[m - 1][n - 1] 的元素将会移动到 grid[0][0]
    -

    请你返回 k 次迁移操作后最终得到的 二维网格

    +

    请你返回 k 次迁移操作后最终得到的 二维网格

    -

     

    +

     

    示例 1:

    @@ -59,17 +59,17 @@ tags: 输出:[[1,2,3],[4,5,6],[7,8,9]]
    -

     

    +

     

    提示:

      -
    • m == grid.length
    • -
    • n == grid[i].length
    • -
    • 1 <= m <= 50
    • -
    • 1 <= n <= 50
    • -
    • -1000 <= grid[i][j] <= 1000
    • -
    • 0 <= k <= 100
    • +
    • m == grid.length
    • +
    • n == grid[i].length
    • +
    • 1 <= m <= 50
    • +
    • 1 <= n <= 50
    • +
    • -1000 <= grid[i][j] <= 1000
    • +
    • 0 <= k <= 100
    diff --git a/solution/1200-1299/1275.Find Winner on a Tic Tac Toe Game/README.md b/solution/1200-1299/1275.Find Winner on a Tic Tac Toe Game/README.md index deff872c6356f..315d6898c3e4f 100644 --- a/solution/1200-1299/1275.Find Winner on a Tic Tac Toe Game/README.md +++ b/solution/1200-1299/1275.Find Winner on a Tic Tac Toe Game/README.md @@ -21,69 +21,45 @@ tags: -

    A 和 B 在一个 3 x 3 的网格上玩井字棋。

    - -

    井字棋游戏的规则如下:

    +

    井字棋 是由两个玩家 A 和 B 在 3 x 3 的棋盘上进行的游戏。井字棋游戏的规则如下:

      -
    • 玩家轮流将棋子放在空方格 (" ") 上。
    • -
    • 第一个玩家 A 总是用 "X" 作为棋子,而第二个玩家 B 总是用 "O" 作为棋子。
    • -
    • "X" 和 "O" 只能放在空方格中,而不能放在已经被占用的方格上。
    • -
    • 只要有 3 个相同的(非空)棋子排成一条直线(行、列、对角线)时,游戏结束。
    • +
    • 玩家轮流将棋子放在空方格 (' ') 上。
    • +
    • 第一个玩家 A 总是用 'X' 作为棋子,而第二个玩家 B 总是用 'O' 作为棋子。
    • +
    • 'X''O' 只能放在空方格中,而不能放在已经被占用的方格上。
    • +
    • 只要有 3 个相同的(非空)棋子排成一条直线(行、列、对角线)时,游戏结束。
    • 如果所有方块都放满棋子(不为空),游戏也会结束。
    • 游戏结束后,棋子无法再进行任何移动。
    -

    给你一个数组 moves,其中每个元素是大小为 2 的另一个数组(元素分别对应网格的行和列),它按照 AB 的行动顺序(先 AB)记录了两人各自的棋子位置。

    - -

    如果游戏存在获胜者(AB),就返回该游戏的获胜者;如果游戏以平局结束,则返回 "Draw";如果仍会有行动(游戏未结束),则返回 "Pending"。

    +

    给你一个数组 moves,其中 moves[i] = [rowi, coli] 表示第 i 次移动在 grid[rowi][coli]。如果游戏存在获胜者(AB),就返回该游戏的获胜者;如果游戏以平局结束,则返回 "Draw";如果仍会有行动(游戏未结束),则返回 "Pending"

    -

    你可以假设 moves 都 有效(遵循井字棋规则),网格最初是空的,A 将先行动。

    +

    你可以假设 moves 都 有效(遵循 井字棋 规则),网格最初是空的,A 将先行动。

     

    示例 1:

    - +
     输入:moves = [[0,0],[2,0],[1,1],[2,1],[2,2]]
     输出:"A"
     解释:"A" 获胜,他总是先走。
    -"X  "    "X  "    "X  "    "X  "    "X  "
    -"   " -> "   " -> " X " -> " X " -> " X "
    -"   "    "O  "    "O  "    "OO "    "OOX"
     

    示例 2:

    - +
     输入:moves = [[0,0],[1,1],[0,1],[0,2],[1,0],[2,0]]
     输出:"B"
     解释:"B" 获胜。
    -"X  "    "X  "    "XX "    "XXO"    "XXO"    "XXO"
    -"   " -> " O " -> " O " -> " O " -> "XO " -> "XO " 
    -"   "    "   "    "   "    "   "    "   "    "O  "
     

    示例 3:

    - +
     输入:moves = [[0,0],[1,1],[2,0],[1,0],[1,2],[2,1],[0,1],[0,2],[2,2]]
     输出:"Draw"
     解释:由于没有办法再行动,游戏以平局结束。
    -"XXO"
    -"OOX"
    -"XOX"
    -
    - -

    示例 4:

    - -
    -输入:moves = [[0,0],[1,1]]
    -输出:"Pending"
    -解释:游戏还没有结束。
    -"X  "
    -" O "
    -"   "
     

     

    diff --git a/solution/1200-1299/1295.Find Numbers with Even Number of Digits/README.md b/solution/1200-1299/1295.Find Numbers with Even Number of Digits/README.md index dda13f29c6319..614dffc3e801d 100644 --- a/solution/1200-1299/1295.Find Numbers with Even Number of Digits/README.md +++ b/solution/1200-1299/1295.Find Numbers with Even Number of Digits/README.md @@ -6,6 +6,7 @@ rating: 1139 source: 第 168 场周赛 Q1 tags: - 数组 + - 数学 --- @@ -24,7 +25,8 @@ tags:

    示例 1:

    -
    输入:nums = [12,345,2,6,7896]
    +
    +输入:nums = [12,345,2,6,7896]
     输出:2
     解释:
     12 是 2 位数字(位数为偶数) 
    @@ -37,7 +39,8 @@ tags:
     
     

    示例 2:

    -
    输入:nums = [555,901,482,1771]
    +
    +输入:nums = [555,901,482,1771]
     输出:1 
     解释: 
     只有 1771 是位数为偶数的数字。
    @@ -49,7 +52,7 @@ tags:
     
     
    • 1 <= nums.length <= 500
    • -
    • 1 <= nums[i] <= 10^5
    • +
    • 1 <= nums[i] <= 105
    diff --git a/solution/1200-1299/1295.Find Numbers with Even Number of Digits/README_EN.md b/solution/1200-1299/1295.Find Numbers with Even Number of Digits/README_EN.md index 9b0c948d902e3..d9a7e8d0be679 100644 --- a/solution/1200-1299/1295.Find Numbers with Even Number of Digits/README_EN.md +++ b/solution/1200-1299/1295.Find Numbers with Even Number of Digits/README_EN.md @@ -6,6 +6,7 @@ rating: 1139 source: Weekly Contest 168 Q1 tags: - Array + - Math --- diff --git a/solution/1300-1399/1347.Minimum Number of Steps to Make Two Strings Anagram/README.md b/solution/1300-1399/1347.Minimum Number of Steps to Make Two Strings Anagram/README.md index ba29eeec484bd..324fcdf484988 100644 --- a/solution/1300-1399/1347.Minimum Number of Steps to Make Two Strings Anagram/README.md +++ b/solution/1300-1399/1347.Minimum Number of Steps to Make Two Strings Anagram/README.md @@ -46,7 +46,7 @@ tags:
    输出:s = "anagram", t = "mangaar"
     输出:0
    -提示:"anagram" 和 "mangaar" 本身就是一组字母异位词。
    +提示:"anagram" 和 "mangaar" 本身就是一组字母异位词。 
     

    示例 4:

    diff --git a/solution/1300-1399/1347.Minimum Number of Steps to Make Two Strings Anagram/README_EN.md b/solution/1300-1399/1347.Minimum Number of Steps to Make Two Strings Anagram/README_EN.md index cb66547740838..6b50e4d4e6cce 100644 --- a/solution/1300-1399/1347.Minimum Number of Steps to Make Two Strings Anagram/README_EN.md +++ b/solution/1300-1399/1347.Minimum Number of Steps to Make Two Strings Anagram/README_EN.md @@ -48,7 +48,7 @@ tags:
     Input: s = "anagram", t = "mangaar"
     Output: 0
    -Explanation: "anagram" and "mangaar" are anagrams.
    +Explanation: "anagram" and "mangaar" are anagrams. 
     

     

    diff --git a/solution/1300-1399/1370.Increasing Decreasing String/README.md b/solution/1300-1399/1370.Increasing Decreasing String/README.md index 60f35ab663c89..128bd0ab3e99a 100644 --- a/solution/1300-1399/1370.Increasing Decreasing String/README.md +++ b/solution/1300-1399/1370.Increasing Decreasing String/README.md @@ -40,38 +40,22 @@ tags:

    示例 1:

    -
    输入:s = "aaaabbbbcccc"
    -输出:"abccbaabccba"
    -解释:第一轮的步骤 1,2,3 后,结果字符串为 result = "abc"
    -第一轮的步骤 4,5,6 后,结果字符串为 result = "abccba"
    -第一轮结束,现在 s = "aabbcc" ,我们再次回到步骤 1
    -第二轮的步骤 1,2,3 后,结果字符串为 result = "abccbaabc"
    -第二轮的步骤 4,5,6 后,结果字符串为 result = "abccbaabccba"
    +
    +输入:s = "aaaabbbbcccc"
    +输出:"abccbaabccba"
    +解释:第一轮的步骤 1,2,3 后,结果字符串为 result = "abc"
    +第一轮的步骤 4,5,6 后,结果字符串为 result = "abccba"
    +第一轮结束,现在 s = "aabbcc" ,我们再次回到步骤 1
    +第二轮的步骤 1,2,3 后,结果字符串为 result = "abccbaabc"
    +第二轮的步骤 4,5,6 后,结果字符串为 result = "abccbaabccba"
     

    示例 2:

    -
    输入:s = "rat"
    -输出:"art"
    -解释:单词 "rat" 在上述算法重排序以后变成 "art"
    -
    - -

    示例 3:

    - -
    输入:s = "leetcode"
    -输出:"cdelotee"
    -
    - -

    示例 4:

    - -
    输入:s = "ggggggg"
    -输出:"ggggggg"
    -
    - -

    示例 5:

    - -
    输入:s = "spo"
    -输出:"ops"
    +
    +输入:s = "rat"
    +输出:"art"
    +解释:单词 "rat" 在上述算法重排序以后变成 "art"
     

     

    diff --git a/solution/1400-1499/1431.Kids With the Greatest Number of Candies/README.md b/solution/1400-1499/1431.Kids With the Greatest Number of Candies/README.md index 77e5e94316a0b..4a192a718f0a7 100644 --- a/solution/1400-1499/1431.Kids With the Greatest Number of Candies/README.md +++ b/solution/1400-1499/1431.Kids With the Greatest Number of Candies/README.md @@ -18,34 +18,38 @@ tags: -

    给你一个数组 candies 和一个整数 extraCandies ,其中 candies[i] 代表第 i 个孩子拥有的糖果数目。

    +

    有 n 个有糖果的孩子。给你一个数组 candies,其中 candies[i] 代表第 i 个孩子拥有的糖果数目,和一个整数 extraCandies 表示你所有的额外糖果的数量。

    -

    对每一个孩子,检查是否存在一种方案,将额外的 extraCandies 个糖果分配给孩子们之后,此孩子有 最多 的糖果。注意,允许有多个孩子同时拥有 最多 的糖果数目。

    +

    返回一个长度为 n 的布尔数组 result,如果把所有的 extraCandies 给第 i 个孩子之后,他会拥有所有孩子中 最多 的糖果,那么 result[i] 为 true,否则为 false

    + +

    注意,允许有多个孩子同时拥有 最多 的糖果数目。

     

    示例 1:

    -
    输入:candies = [2,3,5,1,3], extraCandies = 3
    +
    +输入:candies = [2,3,5,1,3], extraCandies = 3
     输出:[true,true,true,false,true] 
    -解释:
    -孩子 1 有 2 个糖果,如果他得到所有额外的糖果(3个),那么他总共有 5 个糖果,他将成为拥有最多糖果的孩子。
    -孩子 2 有 3 个糖果,如果他得到至少 2 个额外糖果,那么他将成为拥有最多糖果的孩子。
    -孩子 3 有 5 个糖果,他已经是拥有最多糖果的孩子。
    -孩子 4 有 1 个糖果,即使他得到所有额外的糖果,他也只有 4 个糖果,无法成为拥有糖果最多的孩子。
    -孩子 5 有 3 个糖果,如果他得到至少 2 个额外糖果,那么他将成为拥有最多糖果的孩子。
    -
    +解释:如果你把额外的糖果全部给: +孩子 1,将有 2 + 3 = 5 个糖果,是孩子中最多的。 +孩子 2,将有 3 + 3 = 6 个糖果,是孩子中最多的。 +孩子 3,将有 5 + 3 = 8 个糖果,是孩子中最多的。 +孩子 4,将有 1 + 3 = 4 个糖果,是孩子中最多的。 +孩子 5,将有 3 + 3 = 6 个糖果,是孩子中最多的。

    示例 2:

    -
    输入:candies = [4,2,1,1,2], extraCandies = 1
    +
    +输入:candies = [4,2,1,1,2], extraCandies = 1
     输出:[true,false,false,false,false] 
     解释:只有 1 个额外糖果,所以不管额外糖果给谁,只有孩子 1 可以成为拥有糖果最多的孩子。
     

    示例 3:

    -
    输入:candies = [12,1,12], extraCandies = 10
    +
    +输入:candies = [12,1,12], extraCandies = 10
     输出:[true,false,true]
     
    @@ -54,7 +58,8 @@ tags:

    提示:

      -
    • 2 <= candies.length <= 100
    • +
    • n == candies.length
    • +
    • 2 <= n <= 100
    • 1 <= candies[i] <= 100
    • 1 <= extraCandies <= 50
    diff --git a/solution/1400-1499/1497.Check If Array Pairs Are Divisible by k/README.md b/solution/1400-1499/1497.Check If Array Pairs Are Divisible by k/README.md index dc9858b5d49ef..331b0100e0dea 100644 --- a/solution/1400-1499/1497.Check If Array Pairs Are Divisible by k/README.md +++ b/solution/1400-1499/1497.Check If Array Pairs Are Divisible by k/README.md @@ -24,7 +24,7 @@ tags:

    现在需要把数组恰好分成 n / 2 对,以使每对数字的和都能够被 k 整除。

    -

    如果存在这样的分法,请返回 True ;否则,返回 False

    +

    如果存在这样的分法,请返回 true ;否则,返回 false

     

    diff --git a/solution/1600-1699/1616.Split Two Strings to Make Palindrome/README.md b/solution/1600-1699/1616.Split Two Strings to Make Palindrome/README.md index e17bd43feada2..3f6c898d14cd0 100644 --- a/solution/1600-1699/1616.Split Two Strings to Make Palindrome/README.md +++ b/solution/1600-1699/1616.Split Two Strings to Make Palindrome/README.md @@ -43,8 +43,8 @@ bprefix = "", bsuffix = "y"

    示例 2:

    -输入:a = "abdef", b = "fecab"
    -输出:true
    +输入:a = "xbdef", b = "xecab"
    +输出:false
     

    示例 3:

    diff --git a/solution/1800-1899/1844.Replace All Digits with Characters/README_EN.md b/solution/1800-1899/1844.Replace All Digits with Characters/README_EN.md index 7f88677631ccc..5bea2ce0d1b14 100644 --- a/solution/1800-1899/1844.Replace All Digits with Characters/README_EN.md +++ b/solution/1800-1899/1844.Replace All Digits with Characters/README_EN.md @@ -20,15 +20,17 @@ tags:

    You are given a 0-indexed string s that has lowercase English letters in its even indices and digits in its odd indices.

    -

    There is a function shift(c, x), where c is a character and x is a digit, that returns the xth character after c.

    +

    You must perform an operation shift(c, x), where c is a character and x is a digit, that returns the xth character after c.

    • For example, shift('a', 5) = 'f' and shift('x', 0) = 'x'.
    -

    For every odd index i, you want to replace the digit s[i] with shift(s[i-1], s[i]).

    +

    For every odd index i, you want to replace the digit s[i] with the result of the shift(s[i-1], s[i]) operation.

    -

    Return s after replacing all digits. It is guaranteed that shift(s[i-1], s[i]) will never exceed 'z'.

    +

    Return s after replacing all digits. It is guaranteed that shift(s[i-1], s[i]) will never exceed 'z'.

    + +

    Note that shift(c, x) is not a preloaded function, but an operation to be implemented as part of the solution.

     

    Example 1:

    diff --git a/solution/1900-1999/1905.Count Sub Islands/README.md b/solution/1900-1999/1905.Count Sub Islands/README.md index 4e53fbb3a2b3d..19974bb50c3fe 100644 --- a/solution/1900-1999/1905.Count Sub Islands/README.md +++ b/solution/1900-1999/1905.Count Sub Islands/README.md @@ -41,7 +41,7 @@ grid2 中标红的 1 区域是子岛屿,总共有 3 个子岛屿。

    示例 2:

    输入:grid1 = [[1,0,1,0,1],[1,1,1,1,1],[0,0,0,0,0],[1,1,1,1,1],[1,0,1,0,1]], grid2 = [[0,0,0,0,0],[1,1,1,1,1],[0,1,0,1,0],[0,1,0,1,0],[1,0,0,0,1]]
    -输出:2
    +输出:2 
     解释:如上图所示,左边为 grid1 ,右边为 grid2 。
     grid2 中标红的 1 区域是子岛屿,总共有 2 个子岛屿。
     
    diff --git a/solution/1900-1999/1905.Count Sub Islands/README_EN.md b/solution/1900-1999/1905.Count Sub Islands/README_EN.md index 23dcd7b838ac5..56248ce08d224 100644 --- a/solution/1900-1999/1905.Count Sub Islands/README_EN.md +++ b/solution/1900-1999/1905.Count Sub Islands/README_EN.md @@ -42,7 +42,7 @@ The 1s colored red in grid2 are those considered to be part of a sub-island. The
     Input: grid1 = [[1,0,1,0,1],[1,1,1,1,1],[0,0,0,0,0],[1,1,1,1,1],[1,0,1,0,1]], grid2 = [[0,0,0,0,0],[1,1,1,1,1],[0,1,0,1,0],[0,1,0,1,0],[1,0,0,0,1]]
    -Output: 2
    +Output: 2 
     Explanation: In the picture above, the grid on the left is grid1 and the grid on the right is grid2.
     The 1s colored red in grid2 are those considered to be part of a sub-island. There are two sub-islands.
     
    diff --git a/solution/2000-2099/2037.Minimum Number of Moves to Seat Everyone/README.md b/solution/2000-2099/2037.Minimum Number of Moves to Seat Everyone/README.md index 87182a5ad8704..1d707b820a0cd 100644 --- a/solution/2000-2099/2037.Minimum Number of Moves to Seat Everyone/README.md +++ b/solution/2000-2099/2037.Minimum Number of Moves to Seat Everyone/README.md @@ -7,6 +7,7 @@ source: 第 63 场双周赛 Q1 tags: - 贪心 - 数组 + - 计数排序 - 排序 --- diff --git a/solution/2000-2099/2037.Minimum Number of Moves to Seat Everyone/README_EN.md b/solution/2000-2099/2037.Minimum Number of Moves to Seat Everyone/README_EN.md index a17ed48663c8f..ad6f9ebb349e3 100644 --- a/solution/2000-2099/2037.Minimum Number of Moves to Seat Everyone/README_EN.md +++ b/solution/2000-2099/2037.Minimum Number of Moves to Seat Everyone/README_EN.md @@ -7,6 +7,7 @@ source: Biweekly Contest 63 Q1 tags: - Greedy - Array + - Counting Sort - Sorting --- diff --git a/solution/2000-2099/2096.Step-By-Step Directions From a Binary Tree Node to Another/README.md b/solution/2000-2099/2096.Step-By-Step Directions From a Binary Tree Node to Another/README.md index 907de5036c28b..b7dc7b03596aa 100644 --- a/solution/2000-2099/2096.Step-By-Step Directions From a Binary Tree Node to Another/README.md +++ b/solution/2000-2099/2096.Step-By-Step Directions From a Binary Tree Node to Another/README.md @@ -314,7 +314,7 @@ function getDirections(root: TreeNode | null, startValue: number, destValue: num const left = lca(node.left, p, q); const right = lca(node.right, p, q); - return left && right ? node : (left ?? right); + return left && right ? node : left ?? right; }; const dfs = (node: TreeNode | null, x: number, path: string[]): boolean => { @@ -370,7 +370,7 @@ var getDirections = function (root, startValue, destValue) { const left = lca(node.left, p, q); const right = lca(node.right, p, q); - return left && right ? node : (left ?? right); + return left && right ? node : left ?? right; }; const dfs = (node, x, path) => { diff --git a/solution/2000-2099/2096.Step-By-Step Directions From a Binary Tree Node to Another/README_EN.md b/solution/2000-2099/2096.Step-By-Step Directions From a Binary Tree Node to Another/README_EN.md index 58782483df639..41a9811d4e980 100644 --- a/solution/2000-2099/2096.Step-By-Step Directions From a Binary Tree Node to Another/README_EN.md +++ b/solution/2000-2099/2096.Step-By-Step Directions From a Binary Tree Node to Another/README_EN.md @@ -310,7 +310,7 @@ function getDirections(root: TreeNode | null, startValue: number, destValue: num const left = lca(node.left, p, q); const right = lca(node.right, p, q); - return left && right ? node : (left ?? right); + return left && right ? node : left ?? right; }; const dfs = (node: TreeNode | null, x: number, path: string[]): boolean => { @@ -366,7 +366,7 @@ var getDirections = function (root, startValue, destValue) { const left = lca(node.left, p, q); const right = lca(node.right, p, q); - return left && right ? node : (left ?? right); + return left && right ? node : left ?? right; }; const dfs = (node, x, path) => { diff --git a/solution/2000-2099/2096.Step-By-Step Directions From a Binary Tree Node to Another/Solution.js b/solution/2000-2099/2096.Step-By-Step Directions From a Binary Tree Node to Another/Solution.js index cf11074f0553b..c6ca93d60610d 100644 --- a/solution/2000-2099/2096.Step-By-Step Directions From a Binary Tree Node to Another/Solution.js +++ b/solution/2000-2099/2096.Step-By-Step Directions From a Binary Tree Node to Another/Solution.js @@ -20,7 +20,7 @@ var getDirections = function (root, startValue, destValue) { const left = lca(node.left, p, q); const right = lca(node.right, p, q); - return left && right ? node : (left ?? right); + return left && right ? node : left ?? right; }; const dfs = (node, x, path) => { diff --git a/solution/2000-2099/2096.Step-By-Step Directions From a Binary Tree Node to Another/Solution.ts b/solution/2000-2099/2096.Step-By-Step Directions From a Binary Tree Node to Another/Solution.ts index 5c028830da797..fa2f24e5d72b9 100644 --- a/solution/2000-2099/2096.Step-By-Step Directions From a Binary Tree Node to Another/Solution.ts +++ b/solution/2000-2099/2096.Step-By-Step Directions From a Binary Tree Node to Another/Solution.ts @@ -20,7 +20,7 @@ function getDirections(root: TreeNode | null, startValue: number, destValue: num const left = lca(node.left, p, q); const right = lca(node.right, p, q); - return left && right ? node : (left ?? right); + return left && right ? node : left ?? right; }; const dfs = (node: TreeNode | null, x: number, path: string[]): boolean => { diff --git a/solution/2100-2199/2107.Number of Unique Flavors After Sharing K Candies/README.md b/solution/2100-2199/2107.Number of Unique Flavors After Sharing K Candies/README.md index 3dc5f50c0b886..c75f416388f8a 100644 --- a/solution/2100-2199/2107.Number of Unique Flavors After Sharing K Candies/README.md +++ b/solution/2100-2199/2107.Number of Unique Flavors After Sharing K Candies/README.md @@ -18,7 +18,7 @@ tags: -

    您将获得一个 从0开始的 整数数组 candies ,其中 `candies[i]`表示第 i 个糖果的味道。你妈妈想让你和你妹妹分享这些糖果,给她 k连续 的糖果,但你想保留尽可能多的糖果口味。
    +

    您将获得一个 从0开始的 整数数组 candies ,其中 candies[i] 表示第 i 个糖果的味道。你妈妈想让你和你妹妹分享这些糖果,给她 k连续 的糖果,但你想保留尽可能多的糖果口味。
    在与妹妹分享后,返回 最多 可保留的 独特 口味的糖果。

     

    diff --git a/solution/2200-2299/2205.The Number of Users That Are Eligible for Discount/README_EN.md b/solution/2200-2299/2205.The Number of Users That Are Eligible for Discount/README_EN.md index 9d6271546adfd..d253bef3f3323 100644 --- a/solution/2200-2299/2205.The Number of Users That Are Eligible for Discount/README_EN.md +++ b/solution/2200-2299/2205.The Number of Users That Are Eligible for Discount/README_EN.md @@ -66,6 +66,9 @@ Out of the three users, only User 3 is eligible for a discount. - User 3 is the only user who had a purchase that satisfies both conditions.
    +

     

    +

    Important Note: This problem is basically the same as The Users That Are Eligible for Discount.

    + ## Solutions diff --git a/solution/2300-2399/2367.Number of Arithmetic Triplets/README.md b/solution/2300-2399/2367.Number of Arithmetic Triplets/README.md index ab5d03766026f..a42cdf5d34d3c 100644 --- a/solution/2300-2399/2367.Number of Arithmetic Triplets/README.md +++ b/solution/2300-2399/2367.Number of Arithmetic Triplets/README.md @@ -13,7 +13,7 @@ tags: -# [2367. 算术三元组的数目](https://leetcode.cn/problems/number-of-arithmetic-triplets) +# [2367. 等差三元组的数目](https://leetcode.cn/problems/number-of-arithmetic-triplets) [English Version](/solution/2300-2399/2367.Number%20of%20Arithmetic%20Triplets/README_EN.md) @@ -21,7 +21,7 @@ tags: -

    给你一个下标从 0 开始、严格递增 的整数数组 nums 和一个正整数 diff 。如果满足下述全部条件,则三元组 (i, j, k) 就是一个 算术三元组

    +

    给你一个下标从 0 开始、严格递增 的整数数组 nums 和一个正整数 diff 。如果满足下述全部条件,则三元组 (i, j, k) 就是一个 等差三元组

    • i < j < k
    • @@ -29,26 +29,28 @@ tags:
    • nums[k] - nums[j] == diff
    -

    返回不同 算术三元组 的数目

    +

    返回不同 等差三元组 的数目

     

    示例 1:

    -
    输入:nums = [0,1,4,6,7,10], diff = 3
    +
    +输入:nums = [0,1,4,6,7,10], diff = 3
     输出:2
     解释:
    -(1, 2, 4) 是算术三元组:7 - 4 == 3 且 4 - 1 == 3 。
    -(2, 4, 5) 是算术三元组:10 - 7 == 3 且 7 - 4 == 3 。
    +(1, 2, 4) 是等差三元组:7 - 4 == 3 且 4 - 1 == 3 。
    +(2, 4, 5) 是等差三元组:10 - 7 == 3 且 7 - 4 == 3 。
     

    示例 2:

    -
    输入:nums = [4,5,6,7,8,9], diff = 2
    +
    +输入:nums = [4,5,6,7,8,9], diff = 2
     输出:2
     解释:
    -(0, 2, 4) 是算术三元组:8 - 6 == 2 且 6 - 4 == 2 。
    -(1, 3, 5) 是算术三元组:9 - 7 == 2 且 7 - 5 == 2 。
    +(0, 2, 4) 是等差三元组:8 - 6 == 2 且 6 - 4 == 2 。
    +(1, 3, 5) 是等差三元组:9 - 7 == 2 且 7 - 5 == 2 。
     

     

    diff --git a/solution/2800-2899/2894.Divisible and Non-divisible Sums Difference/README_EN.md b/solution/2800-2899/2894.Divisible and Non-divisible Sums Difference/README_EN.md index d908f1a4d2b11..3b6d0637fd364 100644 --- a/solution/2800-2899/2894.Divisible and Non-divisible Sums Difference/README_EN.md +++ b/solution/2800-2899/2894.Divisible and Non-divisible Sums Difference/README_EN.md @@ -20,11 +20,11 @@ tags:

    You are given positive integers n and m.

    -

    Define two integers, num1 and num2, as follows:

    +

    Define two integers as follows:

      -
    • num1: The sum of all integers in the range [1, n] that are not divisible by m.
    • -
    • num2: The sum of all integers in the range [1, n] that are divisible by m.
    • +
    • num1: The sum of all integers in the range [1, n] (both inclusive) that are not divisible by m.
    • +
    • num2: The sum of all integers in the range [1, n] (both inclusive) that are divisible by m.

    Return the integer num1 - num2.

    diff --git a/solution/2800-2899/2895.Minimum Processing Time/README.md b/solution/2800-2899/2895.Minimum Processing Time/README.md index 6441d861a9c78..d44ea0138a2b3 100644 --- a/solution/2800-2899/2895.Minimum Processing Time/README.md +++ b/solution/2800-2899/2895.Minimum Processing Time/README.md @@ -20,7 +20,7 @@ tags: -

    你有 n 颗处理器,每颗处理器都有 4 个核心。现有 n * 4 个待执行任务,每个核心只执行 一个 任务。

    +

    你有 n 颗处理器,每颗处理器都有 4 个核心。现有 n * 4 个待执行任务,每个核心只执行 一次 任务。

    给你一个下标从 0 开始的整数数组 processorTime ,表示每颗处理器最早空闲时间。另给你一个下标从 0 开始的整数数组 tasks ,表示执行每个任务所需的时间。返回所有任务都执行完毕需要的 最小时间

    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 0146db4cca987..3e6c494495e93 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 @@ -13,7 +13,7 @@ tags: -# [3153. 所有数对中数位不同之和](https://leetcode.cn/problems/sum-of-digit-differences-of-all-pairs) +# [3153. 所有数对中数位差之和](https://leetcode.cn/problems/sum-of-digit-differences-of-all-pairs) [English Version](/solution/3100-3199/3153.Sum%20of%20Digit%20Differences%20of%20All%20Pairs/README_EN.md) @@ -23,9 +23,9 @@ tags:

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

    -

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

    +

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

    -

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

    +

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

     

    @@ -38,10 +38,10 @@ tags:

    解释:
    计算过程如下:
    -- 13 和 23 的数位不同为 1 。
    -- 13 和 12 的数位不同为 1 。
    -- 23 和 12 的数位不同为 2 。
    -所以所有整数数对的数位不同之和为 1 + 1 + 2 = 4 。

    +- 13 和 23 的数位差为 1 。
    +- 13 和 12 的数位差为 1 。
    +- 23 和 12 的数位差为 2 。
    +所以所有整数数对的数位差之和为 1 + 1 + 2 = 4 。

    示例 2:

    diff --git a/solution/3200-3299/3265.Count Almost Equal Pairs I/README.md b/solution/3200-3299/3265.Count Almost Equal Pairs I/README.md index d323d0224e1dc..f019c5ca9879a 100644 --- a/solution/3200-3299/3265.Count Almost Equal Pairs I/README.md +++ b/solution/3200-3299/3265.Count Almost Equal Pairs I/README.md @@ -72,7 +72,7 @@ tags:

    解释:

    -

    我们无法通过交换 123 或者 321 中的两个数位得到另一个数。

    +

    我们无法通过交换 123 或者 231 中的两个数位得到另一个数。

     

    diff --git a/solution/3200-3299/3270.Find the Key of the Numbers/README.md b/solution/3200-3299/3270.Find the Key of the Numbers/README.md new file mode 100644 index 0000000000000..f74a321a8cd38 --- /dev/null +++ b/solution/3200-3299/3270.Find the Key of the Numbers/README.md @@ -0,0 +1,171 @@ +--- +comments: true +difficulty: 简单 +edit_url: https://github.com/doocs/leetcode/edit/main/solution/3200-3299/3270.Find%20the%20Key%20of%20the%20Numbers/README.md +--- + + + +# [3270. 求出数字答案](https://leetcode.cn/problems/find-the-key-of-the-numbers) + +[English Version](/solution/3200-3299/3270.Find%20the%20Key%20of%20the%20Numbers/README_EN.md) + +## 题目描述 + + + +

    给你三个  整数 num1 ,num2 和 num3 。

    + +

    数字 num1 ,num2 和 num3 的数字答案 key 是一个四位数,定义如下:

    + +
      +
    • 一开始,如果有数字 少于 四位数,给它补 前导 0
    • +
    • 答案 key 的第 i 个数位(1 <= i <= 4)为 num1 ,num2 和 num3 第 i 个数位中的 最小 值。
    • +
    + +

    请你返回三个数字 没有 前导 0 的数字答案。

    + +

     

    + +

    示例 1:

    + +
    +

    输入:num1 = 1, num2 = 10, num3 = 1000

    + +

    输出:0

    + +

    解释:

    + +

    补前导 0 后,num1 变为 "0001" ,num2 变为 "0010" ,num3 保持不变,为 "1000" 。

    + +
      +
    • 数字答案 key 的第 1 个数位为 min(0, 0, 1) 。
    • +
    • 数字答案 key 的第 2 个数位为 min(0, 0, 0) 。
    • +
    • 数字答案 key 的第 3 个数位为 min(0, 1, 0) 。
    • +
    • 数字答案 key 的第 4 个数位为 min(1, 0, 0) 。
    • +
    + +

    所以数字答案为 "0000" ,也就是 0 。

    +
    + +

    示例 2:

    + +
    +

    输入: num1 = 987, num2 = 879, num3 = 798

    + +

    输出:777

    +
    + +

    示例 3:

    + +
    +

    输入:num1 = 1, num2 = 2, num3 = 3

    + +

    输出:1

    +
    + +

     

    + +

    提示:

    + +
      +
    • 1 <= num1, num2, num3 <= 9999
    • +
    + + + +## 解法 + + + +### 方法一:模拟 + +我们可以直接模拟这个过程,定义一个变量 $\textit{ans}$ 用于存储答案,定义一个变量 $\textit{k}$ 用于表示当前位数,其中 $\textit{k} = 1$ 表示个位数,而 $\textit{k} = 10$ 表示十位数,以此类推。 + +我们从个位数开始,对于每一位,我们分别计算 $\textit{num1}$, $\textit{num2}$ 和 $\textit{num3}$ 的当前位数,取三者的最小值,然后将这个最小值乘以 $\textit{k}$ 加到答案上。然后将 $\textit{k}$ 乘以 10,继续计算下一位。 + +最后返回答案即可。 + +时间复杂度 $O(1)$,空间复杂度 $O(1)$。 + + + +#### Python3 + +```python +class Solution: + def generateKey(self, num1: int, num2: int, num3: int) -> int: + ans, k = 0, 1 + for _ in range(4): + x = min(num1 // k % 10, num2 // k % 10, num3 // k % 10) + ans += x * k + k *= 10 + return ans +``` + +#### Java + +```java +class Solution { + public int generateKey(int num1, int num2, int num3) { + int ans = 0, k = 1; + for (int i = 0; i < 4; ++i) { + int x = Math.min(Math.min(num1 / k % 10, num2 / k % 10), num3 / k % 10); + ans += x * k; + k *= 10; + } + return ans; + } +} +``` + +#### C++ + +```cpp +class Solution { +public: + int generateKey(int num1, int num2, int num3) { + int ans = 0, k = 1; + for (int i = 0; i < 4; ++i) { + int x = min({num1 / k % 10, num2 / k % 10, num3 / k % 10}); + ans += x * k; + k *= 10; + } + return ans; + } +}; +``` + +#### Go + +```go +func generateKey(num1 int, num2 int, num3 int) (ans int) { + k := 1 + for i := 0; i < 4; i++ { + x := min(min(num1/k%10, num2/k%10), num3/k%10) + ans += x * k + k *= 10 + } + return +} +``` + +#### TypeScript + +```ts +function generateKey(num1: number, num2: number, num3: number): number { + let [ans, k] = [0, 1]; + for (let i = 0; i < 4; ++i) { + const x = Math.min(((num1 / k) | 0) % 10, ((num2 / k) | 0) % 10, ((num3 / k) | 0) % 10); + ans += x * k; + k *= 10; + } + return ans; +} +``` + + + + + + diff --git a/solution/3200-3299/3270.Find the Key of the Numbers/README_EN.md b/solution/3200-3299/3270.Find the Key of the Numbers/README_EN.md new file mode 100644 index 0000000000000..700019fc12df6 --- /dev/null +++ b/solution/3200-3299/3270.Find the Key of the Numbers/README_EN.md @@ -0,0 +1,169 @@ +--- +comments: true +difficulty: Easy +edit_url: https://github.com/doocs/leetcode/edit/main/solution/3200-3299/3270.Find%20the%20Key%20of%20the%20Numbers/README_EN.md +--- + + + +# [3270. Find the Key of the Numbers](https://leetcode.com/problems/find-the-key-of-the-numbers) + +[中文文档](/solution/3200-3299/3270.Find%20the%20Key%20of%20the%20Numbers/README.md) + +## Description + + + +

    You are given three positive integers num1, num2, and num3.

    + +

    The key of num1, num2, and num3 is defined as a four-digit number such that:

    + +
      +
    • Initially, if any number has less than four digits, it is padded with leading zeros.
    • +
    • The ith digit (1 <= i <= 4) of the key is generated by taking the smallest digit among the ith digits of num1, num2, and num3.
    • +
    + +

    Return the key of the three numbers without leading zeros (if any).

    + +

     

    +

    Example 1:

    + +
    +

    Input: num1 = 1, num2 = 10, num3 = 1000

    + +

    Output: 0

    + +

    Explanation:

    + +

    On padding, num1 becomes "0001", num2 becomes "0010", and num3 remains "1000".

    + +
      +
    • The 1st digit of the key is min(0, 0, 1).
    • +
    • The 2nd digit of the key is min(0, 0, 0).
    • +
    • The 3rd digit of the key is min(0, 1, 0).
    • +
    • The 4th digit of the key is min(1, 0, 0).
    • +
    + +

    Hence, the key is "0000", i.e. 0.

    +
    + +

    Example 2:

    + +
    +

    Input: num1 = 987, num2 = 879, num3 = 798

    + +

    Output: 777

    +
    + +

    Example 3:

    + +
    +

    Input: num1 = 1, num2 = 2, num3 = 3

    + +

    Output: 1

    +
    + +

     

    +

    Constraints:

    + +
      +
    • 1 <= num1, num2, num3 <= 9999
    • +
    + + + +## Solutions + + + +### Solution 1: Simulation + +We can directly simulate this process by defining a variable $\textit{ans}$ to store the answer and a variable $\textit{k}$ to represent the current digit place, where $\textit{k} = 1$ represents the units place, $\textit{k} = 10$ represents the tens place, and so on. + +Starting from the units place, for each digit place, we calculate the current digit of $\textit{num1}$, $\textit{num2}$, and $\textit{num3}$, take the minimum of the three, and then add this minimum value multiplied by $\textit{k}$ to the answer. Then, multiply $\textit{k}$ by 10 and continue to the next digit place. + +Finally, return the answer. + +The time complexity is $O(1)$, and the space complexity is $O(1)$. + + + +#### Python3 + +```python +class Solution: + def generateKey(self, num1: int, num2: int, num3: int) -> int: + ans, k = 0, 1 + for _ in range(4): + x = min(num1 // k % 10, num2 // k % 10, num3 // k % 10) + ans += x * k + k *= 10 + return ans +``` + +#### Java + +```java +class Solution { + public int generateKey(int num1, int num2, int num3) { + int ans = 0, k = 1; + for (int i = 0; i < 4; ++i) { + int x = Math.min(Math.min(num1 / k % 10, num2 / k % 10), num3 / k % 10); + ans += x * k; + k *= 10; + } + return ans; + } +} +``` + +#### C++ + +```cpp +class Solution { +public: + int generateKey(int num1, int num2, int num3) { + int ans = 0, k = 1; + for (int i = 0; i < 4; ++i) { + int x = min({num1 / k % 10, num2 / k % 10, num3 / k % 10}); + ans += x * k; + k *= 10; + } + return ans; + } +}; +``` + +#### Go + +```go +func generateKey(num1 int, num2 int, num3 int) (ans int) { + k := 1 + for i := 0; i < 4; i++ { + x := min(min(num1/k%10, num2/k%10), num3/k%10) + ans += x * k + k *= 10 + } + return +} +``` + +#### TypeScript + +```ts +function generateKey(num1: number, num2: number, num3: number): number { + let [ans, k] = [0, 1]; + for (let i = 0; i < 4; ++i) { + const x = Math.min(((num1 / k) | 0) % 10, ((num2 / k) | 0) % 10, ((num3 / k) | 0) % 10); + ans += x * k; + k *= 10; + } + return ans; +} +``` + + + + + + diff --git a/solution/3200-3299/3270.Find the Key of the Numbers/Solution.cpp b/solution/3200-3299/3270.Find the Key of the Numbers/Solution.cpp new file mode 100644 index 0000000000000..44fa7a3222ad8 --- /dev/null +++ b/solution/3200-3299/3270.Find the Key of the Numbers/Solution.cpp @@ -0,0 +1,12 @@ +class Solution { +public: + int generateKey(int num1, int num2, int num3) { + int ans = 0, k = 1; + for (int i = 0; i < 4; ++i) { + int x = min({num1 / k % 10, num2 / k % 10, num3 / k % 10}); + ans += x * k; + k *= 10; + } + return ans; + } +}; diff --git a/solution/3200-3299/3270.Find the Key of the Numbers/Solution.go b/solution/3200-3299/3270.Find the Key of the Numbers/Solution.go new file mode 100644 index 0000000000000..de53870504b6c --- /dev/null +++ b/solution/3200-3299/3270.Find the Key of the Numbers/Solution.go @@ -0,0 +1,9 @@ +func generateKey(num1 int, num2 int, num3 int) (ans int) { + k := 1 + for i := 0; i < 4; i++ { + x := min(min(num1/k%10, num2/k%10), num3/k%10) + ans += x * k + k *= 10 + } + return +} diff --git a/solution/3200-3299/3270.Find the Key of the Numbers/Solution.java b/solution/3200-3299/3270.Find the Key of the Numbers/Solution.java new file mode 100644 index 0000000000000..d97c80e0592c4 --- /dev/null +++ b/solution/3200-3299/3270.Find the Key of the Numbers/Solution.java @@ -0,0 +1,11 @@ +class Solution { + public int generateKey(int num1, int num2, int num3) { + int ans = 0, k = 1; + for (int i = 0; i < 4; ++i) { + int x = Math.min(Math.min(num1 / k % 10, num2 / k % 10), num3 / k % 10); + ans += x * k; + k *= 10; + } + return ans; + } +} diff --git a/solution/3200-3299/3270.Find the Key of the Numbers/Solution.py b/solution/3200-3299/3270.Find the Key of the Numbers/Solution.py new file mode 100644 index 0000000000000..d998c14298254 --- /dev/null +++ b/solution/3200-3299/3270.Find the Key of the Numbers/Solution.py @@ -0,0 +1,8 @@ +class Solution: + def generateKey(self, num1: int, num2: int, num3: int) -> int: + ans, k = 0, 1 + for _ in range(4): + x = min(num1 // k % 10, num2 // k % 10, num3 // k % 10) + ans += x * k + k *= 10 + return ans diff --git a/solution/3200-3299/3270.Find the Key of the Numbers/Solution.ts b/solution/3200-3299/3270.Find the Key of the Numbers/Solution.ts new file mode 100644 index 0000000000000..4c55a8c2dffc3 --- /dev/null +++ b/solution/3200-3299/3270.Find the Key of the Numbers/Solution.ts @@ -0,0 +1,9 @@ +function generateKey(num1: number, num2: number, num3: number): number { + let [ans, k] = [0, 1]; + for (let i = 0; i < 4; ++i) { + const x = Math.min(((num1 / k) | 0) % 10, ((num2 / k) | 0) % 10, ((num3 / k) | 0) % 10); + ans += x * k; + k *= 10; + } + return ans; +} diff --git a/solution/3200-3299/3271.Hash Divided String/README.md b/solution/3200-3299/3271.Hash Divided String/README.md new file mode 100644 index 0000000000000..5bfb9be9469e7 --- /dev/null +++ b/solution/3200-3299/3271.Hash Divided String/README.md @@ -0,0 +1,190 @@ +--- +comments: true +difficulty: 中等 +edit_url: https://github.com/doocs/leetcode/edit/main/solution/3200-3299/3271.Hash%20Divided%20String/README.md +--- + + + +# [3271. 哈希分割字符串](https://leetcode.cn/problems/hash-divided-string) + +[English Version](/solution/3200-3299/3271.Hash%20Divided%20String/README_EN.md) + +## 题目描述 + + + +

    给你一个长度为 n 的字符串 s 和一个整数 k ,n 是 k 的 倍数 。你的任务是将字符串 s 哈希为一个长度为 n / k 的新字符串 result 。

    + +

    首先,将 s 分割成 n / k 个 子字符串 ,每个子字符串的长度都为 k 。然后,将 result 初始化为一个  字符串。

    + +

    我们依次从前往后处理每一个 子字符串 :

    + +
      +
    • 一个字符的 哈希值 是它在 字母表 中的下标(也就是 'a' → 0 ,'b' → 1 ,... ,'z' → 25)。
    • +
    • 将子字符串中字幕的 哈希值 求和。
    • +
    • 将和对 26 取余,将结果记为 hashedChar 。
    • +
    • 找到小写字母表中 hashedChar 对应的字符。
    • +
    • 将该字符添加到 result 的末尾。
    • +
    + +

    返回 result 。

    + +

     

    + +

    示例 1:

    + +
    +

    输入:s = "abcd", k = 2

    + +

    输出:"bf"

    + +

    解释:

    + +

    第一个字符串为 "ab" ,0 + 1 = 1 ,1 % 26 = 1 ,result[0] = 'b' 。

    + +

    第二个字符串为: "cd" ,2 + 3 = 5 ,5 % 26 = 5 ,result[1] = 'f' 。

    +
    + +

    示例 2:

    + +
    +

    输入:s = "mxz", k = 3

    + +

    输出:"i"

    + +

    解释:

    + +

    唯一的子字符串为 "mxz" ,12 + 23 + 25 = 60 ,60 % 26 = 8 ,result[0] = 'i' 。

    +
    + +

     

    + +

    提示:

    + +
      +
    • 1 <= k <= 100
    • +
    • k <= s.length <= 1000
    • +
    • s.length 能被 k 整除。
    • +
    • s 只含有小写英文字母。
    • +
    + + + +## 解法 + + + +### 方法一:模拟 + +我们可以按照题目描述的步骤模拟即可。 + +遍历字符串 $s$,每次取 $k$ 个字符,计算它们的哈希值之和,记为 $t$,然后对 $t$ 取模 $26$,找到对应的字符,将其添加到结果字符串的末尾。 + +最后返回结果字符串即可。 + +时间复杂度 $O(n)$,其中 $n$ 为字符串 $s$ 的长度。忽略答案字符串的空间消耗,空间复杂度 $O(1)$。 + + + +#### Python3 + +```python +class Solution: + def stringHash(self, s: str, k: int) -> str: + ans = [] + for i in range(0, len(s), k): + t = 0 + for j in range(i, i + k): + t += ord(s[j]) - ord("a") + hashedChar = t % 26 + ans.append(chr(ord("a") + hashedChar)) + return "".join(ans) +``` + +#### Java + +```java +class Solution { + public String stringHash(String s, int k) { + StringBuilder ans = new StringBuilder(); + int n = s.length(); + for (int i = 0; i < n; i += k) { + int t = 0; + for (int j = i; j < i + k; ++j) { + t += s.charAt(j) - 'a'; + } + int hashedChar = t % 26; + ans.append((char) ('a' + hashedChar)); + } + return ans.toString(); + } +} +``` + +#### C++ + +```cpp +class Solution { +public: + string stringHash(string s, int k) { + string ans; + int n = s.length(); + for (int i = 0; i < n; i += k) { + int t = 0; + for (int j = i; j < i + k; ++j) { + t += s[j] - 'a'; + } + int hashedChar = t % 26; + ans += ('a' + hashedChar); + } + return ans; + } +}; +``` + +#### Go + +```go +func stringHash(s string, k int) string { + n := len(s) + ans := make([]byte, 0, n/k) + + for i := 0; i < n; i += k { + t := 0 + for j := i; j < i+k; j++ { + t += int(s[j] - 'a') + } + hashedChar := t % 26 + ans = append(ans, 'a'+byte(hashedChar)) + } + + return string(ans) +} +``` + +#### TypeScript + +```ts +function stringHash(s: string, k: number): string { + const ans: string[] = []; + const n: number = s.length; + + for (let i = 0; i < n; i += k) { + let t: number = 0; + for (let j = i; j < i + k; j++) { + t += s.charCodeAt(j) - 97; + } + const hashedChar: number = t % 26; + ans.push(String.fromCharCode(97 + hashedChar)); + } + + return ans.join(''); +} +``` + + + + + + diff --git a/solution/3200-3299/3271.Hash Divided String/README_EN.md b/solution/3200-3299/3271.Hash Divided String/README_EN.md new file mode 100644 index 0000000000000..a53959bc39bed --- /dev/null +++ b/solution/3200-3299/3271.Hash Divided String/README_EN.md @@ -0,0 +1,188 @@ +--- +comments: true +difficulty: Medium +edit_url: https://github.com/doocs/leetcode/edit/main/solution/3200-3299/3271.Hash%20Divided%20String/README_EN.md +--- + + + +# [3271. Hash Divided String](https://leetcode.com/problems/hash-divided-string) + +[中文文档](/solution/3200-3299/3271.Hash%20Divided%20String/README.md) + +## Description + + + +

    You are given a string s of length n and an integer k, where n is a multiple of k. Your task is to hash the string s into a new string called result, which has a length of n / k.

    + +

    First, divide s into n / k substrings, each with a length of k. Then, initialize result as an empty string.

    + +

    For each substring in order from the beginning:

    + +
      +
    • The hash value of a character is the index of that character in the English alphabet (e.g., 'a' → 0, 'b' → 1, ..., 'z' → 25).
    • +
    • Calculate the sum of all the hash values of the characters in the substring.
    • +
    • Find the remainder of this sum when divided by 26, which is called hashedChar.
    • +
    • Identify the character in the English lowercase alphabet that corresponds to hashedChar.
    • +
    • Append that character to the end of result.
    • +
    + +

    Return result.

    + +

     

    +

    Example 1:

    + +
    +

    Input: s = "abcd", k = 2

    + +

    Output: "bf"

    + +

    Explanation:

    + +

    First substring: "ab", 0 + 1 = 1, 1 % 26 = 1, result[0] = 'b'.

    + +

    Second substring: "cd", 2 + 3 = 5, 5 % 26 = 5, result[1] = 'f'.

    +
    + +

    Example 2:

    + +
    +

    Input: s = "mxz", k = 3

    + +

    Output: "i"

    + +

    Explanation:

    + +

    The only substring: "mxz", 12 + 23 + 25 = 60, 60 % 26 = 8, result[0] = 'i'.

    +
    + +

     

    +

    Constraints:

    + +
      +
    • 1 <= k <= 100
    • +
    • k <= s.length <= 1000
    • +
    • s.length is divisible by k.
    • +
    • s consists only of lowercase English letters.
    • +
    + + + +## Solutions + + + +### Solution 1: Simulation + +We can simulate the process according to the steps described in the problem. + +Traverse the string $s$, and each time take $k$ characters, calculate the sum of their hash values, denoted as $t$. Then, take $t$ modulo $26$ to find the corresponding character and add it to the end of the result string. + +Finally, return the result string. + +The time complexity is $O(n)$, where $n$ is the length of the string $s$. Ignoring the space consumption of the answer string, the space complexity is $O(1)$. + + + +#### Python3 + +```python +class Solution: + def stringHash(self, s: str, k: int) -> str: + ans = [] + for i in range(0, len(s), k): + t = 0 + for j in range(i, i + k): + t += ord(s[j]) - ord("a") + hashedChar = t % 26 + ans.append(chr(ord("a") + hashedChar)) + return "".join(ans) +``` + +#### Java + +```java +class Solution { + public String stringHash(String s, int k) { + StringBuilder ans = new StringBuilder(); + int n = s.length(); + for (int i = 0; i < n; i += k) { + int t = 0; + for (int j = i; j < i + k; ++j) { + t += s.charAt(j) - 'a'; + } + int hashedChar = t % 26; + ans.append((char) ('a' + hashedChar)); + } + return ans.toString(); + } +} +``` + +#### C++ + +```cpp +class Solution { +public: + string stringHash(string s, int k) { + string ans; + int n = s.length(); + for (int i = 0; i < n; i += k) { + int t = 0; + for (int j = i; j < i + k; ++j) { + t += s[j] - 'a'; + } + int hashedChar = t % 26; + ans += ('a' + hashedChar); + } + return ans; + } +}; +``` + +#### Go + +```go +func stringHash(s string, k int) string { + n := len(s) + ans := make([]byte, 0, n/k) + + for i := 0; i < n; i += k { + t := 0 + for j := i; j < i+k; j++ { + t += int(s[j] - 'a') + } + hashedChar := t % 26 + ans = append(ans, 'a'+byte(hashedChar)) + } + + return string(ans) +} +``` + +#### TypeScript + +```ts +function stringHash(s: string, k: number): string { + const ans: string[] = []; + const n: number = s.length; + + for (let i = 0; i < n; i += k) { + let t: number = 0; + for (let j = i; j < i + k; j++) { + t += s.charCodeAt(j) - 97; + } + const hashedChar: number = t % 26; + ans.push(String.fromCharCode(97 + hashedChar)); + } + + return ans.join(''); +} +``` + + + + + + diff --git a/solution/3200-3299/3271.Hash Divided String/Solution.cpp b/solution/3200-3299/3271.Hash Divided String/Solution.cpp new file mode 100644 index 0000000000000..ab1d9a5dd4b79 --- /dev/null +++ b/solution/3200-3299/3271.Hash Divided String/Solution.cpp @@ -0,0 +1,16 @@ +class Solution { +public: + string stringHash(string s, int k) { + string ans; + int n = s.length(); + for (int i = 0; i < n; i += k) { + int t = 0; + for (int j = i; j < i + k; ++j) { + t += s[j] - 'a'; + } + int hashedChar = t % 26; + ans += ('a' + hashedChar); + } + return ans; + } +}; diff --git a/solution/3200-3299/3271.Hash Divided String/Solution.go b/solution/3200-3299/3271.Hash Divided String/Solution.go new file mode 100644 index 0000000000000..62364da553380 --- /dev/null +++ b/solution/3200-3299/3271.Hash Divided String/Solution.go @@ -0,0 +1,15 @@ +func stringHash(s string, k int) string { + n := len(s) + ans := make([]byte, 0, n/k) + + for i := 0; i < n; i += k { + t := 0 + for j := i; j < i+k; j++ { + t += int(s[j] - 'a') + } + hashedChar := t % 26 + ans = append(ans, 'a'+byte(hashedChar)) + } + + return string(ans) +} diff --git a/solution/3200-3299/3271.Hash Divided String/Solution.java b/solution/3200-3299/3271.Hash Divided String/Solution.java new file mode 100644 index 0000000000000..f9dcd100564cf --- /dev/null +++ b/solution/3200-3299/3271.Hash Divided String/Solution.java @@ -0,0 +1,15 @@ +class Solution { + public String stringHash(String s, int k) { + StringBuilder ans = new StringBuilder(); + int n = s.length(); + for (int i = 0; i < n; i += k) { + int t = 0; + for (int j = i; j < i + k; ++j) { + t += s.charAt(j) - 'a'; + } + int hashedChar = t % 26; + ans.append((char) ('a' + hashedChar)); + } + return ans.toString(); + } +} diff --git a/solution/3200-3299/3271.Hash Divided String/Solution.py b/solution/3200-3299/3271.Hash Divided String/Solution.py new file mode 100644 index 0000000000000..f23fb42f99a00 --- /dev/null +++ b/solution/3200-3299/3271.Hash Divided String/Solution.py @@ -0,0 +1,10 @@ +class Solution: + def stringHash(self, s: str, k: int) -> str: + ans = [] + for i in range(0, len(s), k): + t = 0 + for j in range(i, i + k): + t += ord(s[j]) - ord("a") + hashedChar = t % 26 + ans.append(chr(ord("a") + hashedChar)) + return "".join(ans) diff --git a/solution/3200-3299/3271.Hash Divided String/Solution.ts b/solution/3200-3299/3271.Hash Divided String/Solution.ts new file mode 100644 index 0000000000000..d9e2e4dc9621d --- /dev/null +++ b/solution/3200-3299/3271.Hash Divided String/Solution.ts @@ -0,0 +1,15 @@ +function stringHash(s: string, k: number): string { + const ans: string[] = []; + const n: number = s.length; + + for (let i = 0; i < n; i += k) { + let t: number = 0; + for (let j = i; j < i + k; j++) { + t += s.charCodeAt(j) - 97; + } + const hashedChar: number = t % 26; + ans.push(String.fromCharCode(97 + hashedChar)); + } + + return ans.join(''); +} diff --git a/solution/3200-3299/3272.Find the Count of Good Integers/README.md b/solution/3200-3299/3272.Find the Count of Good Integers/README.md new file mode 100644 index 0000000000000..c7714d06f5fe4 --- /dev/null +++ b/solution/3200-3299/3272.Find the Count of Good Integers/README.md @@ -0,0 +1,327 @@ +--- +comments: true +difficulty: 困难 +edit_url: https://github.com/doocs/leetcode/edit/main/solution/3200-3299/3272.Find%20the%20Count%20of%20Good%20Integers/README.md +--- + + + +# [3272. 统计好整数的数目](https://leetcode.cn/problems/find-the-count-of-good-integers) + +[English Version](/solution/3200-3299/3272.Find%20the%20Count%20of%20Good%20Integers/README_EN.md) + +## 题目描述 + + + +

    给你两个  整数 n 和 k 。

    + +

    如果一个整数 x 满足以下条件,那么它被称为 k 回文 整数 。

    + +
      +
    • x 是一个 回文整数 。
    • +
    • x 能被 k 整除。
    • +
    + +

    如果一个整数的数位重新排列后能得到一个 k 回文整数 ,那么我们称这个整数为 整数。比方说,k = 2 ,那么 2020 可以重新排列得到 2002 ,2002 是一个 k 回文串,所以 2020 是一个好整数。而 1010 无法重新排列数位得到一个 k 回文整数。

    + +

    请你返回 n 个数位的整数中,有多少个  整数。

    + +

    注意 ,任何整数在重新排列数位之前或者之后 都不能 有前导 0 。比方说 1010 不能重排列得到 101 。

    + +

     

    + +

    示例 1:

    + +
    +

    输入:n = 3, k = 5

    + +

    输出:27

    + +

    解释:

    + +

    部分好整数如下:

    + +
      +
    • 551 ,因为它可以重排列得到 515 。
    • +
    • 525 ,因为它已经是一个 k 回文整数。
    • +
    +
    + +

    示例 2:

    + +
    +

    输入:n = 1, k = 4

    + +

    输出:2

    + +

    解释:

    + +

    两个好整数分别是 4 和 8 。

    +
    + +

    示例 3:

    + +
    +

    输入:n = 5, k = 6

    + +

    输出:2468

    +
    + +

     

    + +

    提示:

    + +
      +
    • 1 <= n <= 10
    • +
    • 1 <= k <= 9
    • +
    + + + +## 解法 + + + +### 方法一 + + + +#### Python3 + +```python +class Solution: + def countGoodIntegers(self, n: int, k: int) -> int: + fac = [factorial(i) for i in range(n + 1)] + ans = 0 + vis = set() + base = 10 ** ((n - 1) // 2) + for i in range(base, base * 10): + s = str(i) + s += s[::-1][n % 2 :] + if int(s) % k: + continue + t = "".join(sorted(s)) + if t in vis: + continue + vis.add(t) + cnt = Counter(t) + res = (n - cnt["0"]) * fac[n - 1] + for x in cnt.values(): + res //= fac[x] + ans += res + return ans +``` + +#### Java + +```java +class Solution { + public long countGoodIntegers(int n, int k) { + long[] fac = new long[n + 1]; + fac[0] = 1; + for (int i = 1; i <= n; i++) { + fac[i] = fac[i - 1] * i; + } + + long ans = 0; + Set vis = new HashSet<>(); + int base = (int) Math.pow(10, (n - 1) / 2); + + for (int i = base; i < base * 10; i++) { + String s = String.valueOf(i); + StringBuilder sb = new StringBuilder(s).reverse(); + s += sb.substring(n % 2); + if (Long.parseLong(s) % k != 0) { + continue; + } + + char[] arr = s.toCharArray(); + Arrays.sort(arr); + String t = new String(arr); + if (vis.contains(t)) { + continue; + } + vis.add(t); + int[] cnt = new int[10]; + for (char c : arr) { + cnt[c - '0']++; + } + + long res = (n - cnt[0]) * fac[n - 1]; + for (int x : cnt) { + res /= fac[x]; + } + ans += res; + } + + return ans; + } +} +``` + +#### C++ + +```cpp +class Solution { +public: + long long countGoodIntegers(int n, int k) { + vector fac(n + 1, 1); + for (int i = 1; i <= n; ++i) { + fac[i] = fac[i - 1] * i; + } + + long long ans = 0; + unordered_set vis; + int base = pow(10, (n - 1) / 2); + + for (int i = base; i < base * 10; ++i) { + string s = to_string(i); + string rev = s; + reverse(rev.begin(), rev.end()); + s += rev.substr(n % 2); + if (stoll(s) % k) { + continue; + } + string t = s; + sort(t.begin(), t.end()); + if (vis.count(t)) { + continue; + } + vis.insert(t); + vector cnt(10); + for (char c : t) { + cnt[c - '0']++; + } + long long res = (n - cnt[0]) * fac[n - 1]; + for (int x : cnt) { + res /= fac[x]; + } + ans += res; + } + return ans; + } +}; +``` + +#### Go + +```go +func factorial(n int) []int64 { + fac := make([]int64, n+1) + fac[0] = 1 + for i := 1; i <= n; i++ { + fac[i] = fac[i-1] * int64(i) + } + return fac +} + +func countGoodIntegers(n int, k int) (ans int64) { + fac := factorial(n) + vis := make(map[string]bool) + base := int(math.Pow(10, float64((n-1)/2))) + + for i := base; i < base*10; i++ { + s := strconv.Itoa(i) + rev := reverseString(s) + s += rev[n%2:] + num, _ := strconv.ParseInt(s, 10, 64) + if num%int64(k) != 0 { + continue + } + bs := []byte(s) + slices.Sort(bs) + t := string(bs) + + if vis[t] { + continue + } + vis[t] = true + cnt := make([]int, 10) + for _, c := range t { + cnt[c-'0']++ + } + res := (int64(n) - int64(cnt[0])) * fac[n-1] + for _, x := range cnt { + res /= fac[x] + } + ans += res + } + + return +} + +func reverseString(s string) string { + t := []byte(s) + for i, j := 0, len(t)-1; i < j; i, j = i+1, j-1 { + t[i], t[j] = t[j], t[i] + } + return string(t) +} +``` + +#### TypeScript + +```ts +function factorial(n: number): number[] { + const fac = Array(n + 1).fill(1); + for (let i = 1; i <= n; i++) { + fac[i] = fac[i - 1] * i; + } + return fac; +} + +function reverseString(s: string): string { + return s.split('').reverse().join(''); +} + +function countGoodIntegers(n: number, k: number): number { + const fac = factorial(n); + let ans = 0; + const vis = new Set(); + const base = Math.pow(10, Math.floor((n - 1) / 2)); + + for (let i = base; i < base * 10; i++) { + let s = i.toString(); + const rev = reverseString(s); + if (n % 2 === 1) { + s += rev.substring(1); + } else { + s += rev; + } + + const num = parseInt(s, 10); + if (num % k !== 0) { + continue; + } + + const bs = Array.from(s).sort(); + const t = bs.join(''); + + if (vis.has(t)) { + continue; + } + + vis.add(t); + + const cnt = Array(10).fill(0); + for (const c of t) { + cnt[+c]++; + } + + let res = (n - cnt[0]) * fac[n - 1]; + for (const x of cnt) { + res /= fac[x]; + } + ans += res; + } + + return ans; +} +``` + + + + + + diff --git a/solution/3200-3299/3272.Find the Count of Good Integers/README_EN.md b/solution/3200-3299/3272.Find the Count of Good Integers/README_EN.md new file mode 100644 index 0000000000000..0eeee9bda0643 --- /dev/null +++ b/solution/3200-3299/3272.Find the Count of Good Integers/README_EN.md @@ -0,0 +1,325 @@ +--- +comments: true +difficulty: Hard +edit_url: https://github.com/doocs/leetcode/edit/main/solution/3200-3299/3272.Find%20the%20Count%20of%20Good%20Integers/README_EN.md +--- + + + +# [3272. Find the Count of Good Integers](https://leetcode.com/problems/find-the-count-of-good-integers) + +[中文文档](/solution/3200-3299/3272.Find%20the%20Count%20of%20Good%20Integers/README.md) + +## Description + + + +

    You are given two positive integers n and k.

    + +

    An integer x is called k-palindromic if:

    + +
      +
    • x is a palindrome.
    • +
    • x is divisible by k.
    • +
    + +

    An integer is called good if its digits can be rearranged to form a k-palindromic integer. For example, for k = 2, 2020 can be rearranged to form the k-palindromic integer 2002, whereas 1010 cannot be rearranged to form a k-palindromic integer.

    + +

    Return the count of good integers containing n digits.

    + +

    Note that any integer must not have leading zeros, neither before nor after rearrangement. For example, 1010 cannot be rearranged to form 101.

    + +

     

    +

    Example 1:

    + +
    +

    Input: n = 3, k = 5

    + +

    Output: 27

    + +

    Explanation:

    + +

    Some of the good integers are:

    + +
      +
    • 551 because it can be rearranged to form 515.
    • +
    • 525 because it is already k-palindromic.
    • +
    +
    + +

    Example 2:

    + +
    +

    Input: n = 1, k = 4

    + +

    Output: 2

    + +

    Explanation:

    + +

    The two good integers are 4 and 8.

    +
    + +

    Example 3:

    + +
    +

    Input: n = 5, k = 6

    + +

    Output: 2468

    +
    + +

     

    +

    Constraints:

    + +
      +
    • 1 <= n <= 10
    • +
    • 1 <= k <= 9
    • +
    + + + +## Solutions + + + +### Solution 1 + + + +#### Python3 + +```python +class Solution: + def countGoodIntegers(self, n: int, k: int) -> int: + fac = [factorial(i) for i in range(n + 1)] + ans = 0 + vis = set() + base = 10 ** ((n - 1) // 2) + for i in range(base, base * 10): + s = str(i) + s += s[::-1][n % 2 :] + if int(s) % k: + continue + t = "".join(sorted(s)) + if t in vis: + continue + vis.add(t) + cnt = Counter(t) + res = (n - cnt["0"]) * fac[n - 1] + for x in cnt.values(): + res //= fac[x] + ans += res + return ans +``` + +#### Java + +```java +class Solution { + public long countGoodIntegers(int n, int k) { + long[] fac = new long[n + 1]; + fac[0] = 1; + for (int i = 1; i <= n; i++) { + fac[i] = fac[i - 1] * i; + } + + long ans = 0; + Set vis = new HashSet<>(); + int base = (int) Math.pow(10, (n - 1) / 2); + + for (int i = base; i < base * 10; i++) { + String s = String.valueOf(i); + StringBuilder sb = new StringBuilder(s).reverse(); + s += sb.substring(n % 2); + if (Long.parseLong(s) % k != 0) { + continue; + } + + char[] arr = s.toCharArray(); + Arrays.sort(arr); + String t = new String(arr); + if (vis.contains(t)) { + continue; + } + vis.add(t); + int[] cnt = new int[10]; + for (char c : arr) { + cnt[c - '0']++; + } + + long res = (n - cnt[0]) * fac[n - 1]; + for (int x : cnt) { + res /= fac[x]; + } + ans += res; + } + + return ans; + } +} +``` + +#### C++ + +```cpp +class Solution { +public: + long long countGoodIntegers(int n, int k) { + vector fac(n + 1, 1); + for (int i = 1; i <= n; ++i) { + fac[i] = fac[i - 1] * i; + } + + long long ans = 0; + unordered_set vis; + int base = pow(10, (n - 1) / 2); + + for (int i = base; i < base * 10; ++i) { + string s = to_string(i); + string rev = s; + reverse(rev.begin(), rev.end()); + s += rev.substr(n % 2); + if (stoll(s) % k) { + continue; + } + string t = s; + sort(t.begin(), t.end()); + if (vis.count(t)) { + continue; + } + vis.insert(t); + vector cnt(10); + for (char c : t) { + cnt[c - '0']++; + } + long long res = (n - cnt[0]) * fac[n - 1]; + for (int x : cnt) { + res /= fac[x]; + } + ans += res; + } + return ans; + } +}; +``` + +#### Go + +```go +func factorial(n int) []int64 { + fac := make([]int64, n+1) + fac[0] = 1 + for i := 1; i <= n; i++ { + fac[i] = fac[i-1] * int64(i) + } + return fac +} + +func countGoodIntegers(n int, k int) (ans int64) { + fac := factorial(n) + vis := make(map[string]bool) + base := int(math.Pow(10, float64((n-1)/2))) + + for i := base; i < base*10; i++ { + s := strconv.Itoa(i) + rev := reverseString(s) + s += rev[n%2:] + num, _ := strconv.ParseInt(s, 10, 64) + if num%int64(k) != 0 { + continue + } + bs := []byte(s) + slices.Sort(bs) + t := string(bs) + + if vis[t] { + continue + } + vis[t] = true + cnt := make([]int, 10) + for _, c := range t { + cnt[c-'0']++ + } + res := (int64(n) - int64(cnt[0])) * fac[n-1] + for _, x := range cnt { + res /= fac[x] + } + ans += res + } + + return +} + +func reverseString(s string) string { + t := []byte(s) + for i, j := 0, len(t)-1; i < j; i, j = i+1, j-1 { + t[i], t[j] = t[j], t[i] + } + return string(t) +} +``` + +#### TypeScript + +```ts +function factorial(n: number): number[] { + const fac = Array(n + 1).fill(1); + for (let i = 1; i <= n; i++) { + fac[i] = fac[i - 1] * i; + } + return fac; +} + +function reverseString(s: string): string { + return s.split('').reverse().join(''); +} + +function countGoodIntegers(n: number, k: number): number { + const fac = factorial(n); + let ans = 0; + const vis = new Set(); + const base = Math.pow(10, Math.floor((n - 1) / 2)); + + for (let i = base; i < base * 10; i++) { + let s = i.toString(); + const rev = reverseString(s); + if (n % 2 === 1) { + s += rev.substring(1); + } else { + s += rev; + } + + const num = parseInt(s, 10); + if (num % k !== 0) { + continue; + } + + const bs = Array.from(s).sort(); + const t = bs.join(''); + + if (vis.has(t)) { + continue; + } + + vis.add(t); + + const cnt = Array(10).fill(0); + for (const c of t) { + cnt[+c]++; + } + + let res = (n - cnt[0]) * fac[n - 1]; + for (const x of cnt) { + res /= fac[x]; + } + ans += res; + } + + return ans; +} +``` + + + + + + diff --git a/solution/3200-3299/3272.Find the Count of Good Integers/Solution.cpp b/solution/3200-3299/3272.Find the Count of Good Integers/Solution.cpp new file mode 100644 index 0000000000000..04267d049d00a --- /dev/null +++ b/solution/3200-3299/3272.Find the Count of Good Integers/Solution.cpp @@ -0,0 +1,39 @@ +class Solution { +public: + long long countGoodIntegers(int n, int k) { + vector fac(n + 1, 1); + for (int i = 1; i <= n; ++i) { + fac[i] = fac[i - 1] * i; + } + + long long ans = 0; + unordered_set vis; + int base = pow(10, (n - 1) / 2); + + for (int i = base; i < base * 10; ++i) { + string s = to_string(i); + string rev = s; + reverse(rev.begin(), rev.end()); + s += rev.substr(n % 2); + if (stoll(s) % k) { + continue; + } + string t = s; + sort(t.begin(), t.end()); + if (vis.count(t)) { + continue; + } + vis.insert(t); + vector cnt(10); + for (char c : t) { + cnt[c - '0']++; + } + long long res = (n - cnt[0]) * fac[n - 1]; + for (int x : cnt) { + res /= fac[x]; + } + ans += res; + } + return ans; + } +}; diff --git a/solution/3200-3299/3272.Find the Count of Good Integers/Solution.go b/solution/3200-3299/3272.Find the Count of Good Integers/Solution.go new file mode 100644 index 0000000000000..d3ecadbab0a36 --- /dev/null +++ b/solution/3200-3299/3272.Find the Count of Good Integers/Solution.go @@ -0,0 +1,51 @@ +func factorial(n int) []int64 { + fac := make([]int64, n+1) + fac[0] = 1 + for i := 1; i <= n; i++ { + fac[i] = fac[i-1] * int64(i) + } + return fac +} + +func countGoodIntegers(n int, k int) (ans int64) { + fac := factorial(n) + vis := make(map[string]bool) + base := int(math.Pow(10, float64((n-1)/2))) + + for i := base; i < base*10; i++ { + s := strconv.Itoa(i) + rev := reverseString(s) + s += rev[n%2:] + num, _ := strconv.ParseInt(s, 10, 64) + if num%int64(k) != 0 { + continue + } + bs := []byte(s) + slices.Sort(bs) + t := string(bs) + + if vis[t] { + continue + } + vis[t] = true + cnt := make([]int, 10) + for _, c := range t { + cnt[c-'0']++ + } + res := (int64(n) - int64(cnt[0])) * fac[n-1] + for _, x := range cnt { + res /= fac[x] + } + ans += res + } + + return +} + +func reverseString(s string) string { + t := []byte(s) + for i, j := 0, len(t)-1; i < j; i, j = i+1, j-1 { + t[i], t[j] = t[j], t[i] + } + return string(t) +} diff --git a/solution/3200-3299/3272.Find the Count of Good Integers/Solution.java b/solution/3200-3299/3272.Find the Count of Good Integers/Solution.java new file mode 100644 index 0000000000000..5b54aae6a98c0 --- /dev/null +++ b/solution/3200-3299/3272.Find the Count of Good Integers/Solution.java @@ -0,0 +1,42 @@ +class Solution { + public long countGoodIntegers(int n, int k) { + long[] fac = new long[n + 1]; + fac[0] = 1; + for (int i = 1; i <= n; i++) { + fac[i] = fac[i - 1] * i; + } + + long ans = 0; + Set vis = new HashSet<>(); + int base = (int) Math.pow(10, (n - 1) / 2); + + for (int i = base; i < base * 10; i++) { + String s = String.valueOf(i); + StringBuilder sb = new StringBuilder(s).reverse(); + s += sb.substring(n % 2); + if (Long.parseLong(s) % k != 0) { + continue; + } + + char[] arr = s.toCharArray(); + Arrays.sort(arr); + String t = new String(arr); + if (vis.contains(t)) { + continue; + } + vis.add(t); + int[] cnt = new int[10]; + for (char c : arr) { + cnt[c - '0']++; + } + + long res = (n - cnt[0]) * fac[n - 1]; + for (int x : cnt) { + res /= fac[x]; + } + ans += res; + } + + return ans; + } +} diff --git a/solution/3200-3299/3272.Find the Count of Good Integers/Solution.py b/solution/3200-3299/3272.Find the Count of Good Integers/Solution.py new file mode 100644 index 0000000000000..ea8b6ebde22e4 --- /dev/null +++ b/solution/3200-3299/3272.Find the Count of Good Integers/Solution.py @@ -0,0 +1,21 @@ +class Solution: + def countGoodIntegers(self, n: int, k: int) -> int: + fac = [factorial(i) for i in range(n + 1)] + ans = 0 + vis = set() + base = 10 ** ((n - 1) // 2) + for i in range(base, base * 10): + s = str(i) + s += s[::-1][n % 2 :] + if int(s) % k: + continue + t = "".join(sorted(s)) + if t in vis: + continue + vis.add(t) + cnt = Counter(t) + res = (n - cnt["0"]) * fac[n - 1] + for x in cnt.values(): + res //= fac[x] + ans += res + return ans diff --git a/solution/3200-3299/3272.Find the Count of Good Integers/Solution.ts b/solution/3200-3299/3272.Find the Count of Good Integers/Solution.ts new file mode 100644 index 0000000000000..ee34fed7ed796 --- /dev/null +++ b/solution/3200-3299/3272.Find the Count of Good Integers/Solution.ts @@ -0,0 +1,55 @@ +function factorial(n: number): number[] { + const fac = Array(n + 1).fill(1); + for (let i = 1; i <= n; i++) { + fac[i] = fac[i - 1] * i; + } + return fac; +} + +function reverseString(s: string): string { + return s.split('').reverse().join(''); +} + +function countGoodIntegers(n: number, k: number): number { + const fac = factorial(n); + let ans = 0; + const vis = new Set(); + const base = Math.pow(10, Math.floor((n - 1) / 2)); + + for (let i = base; i < base * 10; i++) { + let s = i.toString(); + const rev = reverseString(s); + if (n % 2 === 1) { + s += rev.substring(1); + } else { + s += rev; + } + + const num = parseInt(s, 10); + if (num % k !== 0) { + continue; + } + + const bs = Array.from(s).sort(); + const t = bs.join(''); + + if (vis.has(t)) { + continue; + } + + vis.add(t); + + const cnt = Array(10).fill(0); + for (const c of t) { + cnt[+c]++; + } + + let res = (n - cnt[0]) * fac[n - 1]; + for (const x of cnt) { + res /= fac[x]; + } + ans += res; + } + + return ans; +} diff --git a/solution/3200-3299/3273.Minimum Amount of Damage Dealt to Bob/README.md b/solution/3200-3299/3273.Minimum Amount of Damage Dealt to Bob/README.md new file mode 100644 index 0000000000000..a736ea0df39f6 --- /dev/null +++ b/solution/3200-3299/3273.Minimum Amount of Damage Dealt to Bob/README.md @@ -0,0 +1,117 @@ +--- +comments: true +difficulty: 困难 +edit_url: https://github.com/doocs/leetcode/edit/main/solution/3200-3299/3273.Minimum%20Amount%20of%20Damage%20Dealt%20to%20Bob/README.md +--- + + + +# [3273. 对 Bob 造成的最少伤害](https://leetcode.cn/problems/minimum-amount-of-damage-dealt-to-bob) + +[English Version](/solution/3200-3299/3273.Minimum%20Amount%20of%20Damage%20Dealt%20to%20Bob/README_EN.md) + +## 题目描述 + + + +

    给你一个整数 power 和两个整数数组 damage 和 health ,两个数组的长度都为 n 。

    + +

    Bob 有 n 个敌人,如果第 i 个敌人还活着(也就是健康值 health[i] > 0 的时候),每秒钟会对 Bob 造成 damage[i]  伤害。

    + +

    每一秒中,在敌人对 Bob 造成伤害 之后 ,Bob 会选择 一个 还活着的敌人进行攻击,该敌人的健康值减少 power 。

    + +

    请你返回 Bob 将 所有 n 个敌人都消灭之前,最少 会收到多少伤害。

    + +

     

    + +

    示例 1:

    + +
    +

    输入:power = 4, damage = [1,2,3,4], health = [4,5,6,8]

    + +

    输出:39

    + +

    解释:

    + +
      +
    • 最开始 2 秒内都攻击敌人 3 ,然后敌人 3 会被消灭,这段时间内对 Bob 的总伤害是 10 + 10 = 20 点。
    • +
    • 接下来 2 秒内都攻击敌人 2 ,然后敌人 2 会被消灭,这段时间内对 Bob 的总伤害是 6 + 6 = 12 点。
    • +
    • 接下来 1 秒内都攻击敌人 0 ,然后敌人 0 会被消灭,这段时间内对 Bob 的总伤害是 3 点。
    • +
    • 接下来 2 秒内都攻击敌人 1 ,然后敌人 1 会被消灭,这段时间内对 Bob 的总伤害是 2 + 2 = 4 点。
    • +
    +
    + +

    示例 2:

    + +
    +

    输入:power = 1, damage = [1,1,1,1], health = [1,2,3,4]

    + +

    输出:20

    + +

    解释:

    + +
      +
    • 最开始 1 秒内都攻击敌人 0 ,然后敌人 0 会被消灭,这段时间对 Bob 的总伤害是 4 点。
    • +
    • 接下来 2 秒内都攻击敌人 1 ,然后敌人 1 会被消灭,这段时间对 Bob 的总伤害是 3 + 3 = 6 点。
    • +
    • 接下来 3 秒内都攻击敌人 2 ,然后敌人 2 会被消灭,这段时间对 Bob 的总伤害是 2 + 2 + 2 = 6 点。
    • +
    • 接下来 4 秒内都攻击敌人 3 ,然后敌人 3 会被消灭,这段时间对 Bob 的总伤害是 1 + 1 + 1 + 1 = 4 点。
    • +
    +
    + +

    示例 3:

    + +
    +

    输入:power = 8, damage = [40], health = [59]

    + +

    输出:320

    +
    + +

     

    + +

    提示:

    + +
      +
    • 1 <= power <= 104
    • +
    • 1 <= n == damage.length == health.length <= 105
    • +
    • 1 <= damage[i], health[i] <= 104
    • +
    + + + +## 解法 + + + +### 方法一 + + + +#### Python3 + +```python + +``` + +#### Java + +```java + +``` + +#### C++ + +```cpp + +``` + +#### Go + +```go + +``` + + + + + + diff --git a/solution/3200-3299/3273.Minimum Amount of Damage Dealt to Bob/README_EN.md b/solution/3200-3299/3273.Minimum Amount of Damage Dealt to Bob/README_EN.md new file mode 100644 index 0000000000000..70501cd45fec6 --- /dev/null +++ b/solution/3200-3299/3273.Minimum Amount of Damage Dealt to Bob/README_EN.md @@ -0,0 +1,115 @@ +--- +comments: true +difficulty: Hard +edit_url: https://github.com/doocs/leetcode/edit/main/solution/3200-3299/3273.Minimum%20Amount%20of%20Damage%20Dealt%20to%20Bob/README_EN.md +--- + + + +# [3273. Minimum Amount of Damage Dealt to Bob](https://leetcode.com/problems/minimum-amount-of-damage-dealt-to-bob) + +[中文文档](/solution/3200-3299/3273.Minimum%20Amount%20of%20Damage%20Dealt%20to%20Bob/README.md) + +## Description + + + +

    You are given an integer power and two integer arrays damage and health, both having length n.

    + +

    Bob has n enemies, where enemy i will deal Bob damage[i] points of damage per second while they are alive (i.e. health[i] > 0).

    + +

    Every second, after the enemies deal damage to Bob, he chooses one of the enemies that is still alive and deals power points of damage to them.

    + +

    Determine the minimum total amount of damage points that will be dealt to Bob before all n enemies are dead.

    + +

     

    +

    Example 1:

    + +
    +

    Input: power = 4, damage = [1,2,3,4], health = [4,5,6,8]

    + +

    Output: 39

    + +

    Explanation:

    + +
      +
    • Attack enemy 3 in the first two seconds, after which enemy 3 will go down, the number of damage points dealt to Bob is 10 + 10 = 20 points.
    • +
    • Attack enemy 2 in the next two seconds, after which enemy 2 will go down, the number of damage points dealt to Bob is 6 + 6 = 12 points.
    • +
    • Attack enemy 0 in the next second, after which enemy 0 will go down, the number of damage points dealt to Bob is 3 points.
    • +
    • Attack enemy 1 in the next two seconds, after which enemy 1 will go down, the number of damage points dealt to Bob is 2 + 2 = 4 points.
    • +
    +
    + +

    Example 2:

    + +
    +

    Input: power = 1, damage = [1,1,1,1], health = [1,2,3,4]

    + +

    Output: 20

    + +

    Explanation:

    + +
      +
    • Attack enemy 0 in the first second, after which enemy 0 will go down, the number of damage points dealt to Bob is 4 points.
    • +
    • Attack enemy 1 in the next two seconds, after which enemy 1 will go down, the number of damage points dealt to Bob is 3 + 3 = 6 points.
    • +
    • Attack enemy 2 in the next three seconds, after which enemy 2 will go down, the number of damage points dealt to Bob is 2 + 2 + 2 = 6 points.
    • +
    • Attack enemy 3 in the next four seconds, after which enemy 3 will go down, the number of damage points dealt to Bob is 1 + 1 + 1 + 1 = 4 points.
    • +
    +
    + +

    Example 3:

    + +
    +

    Input: power = 8, damage = [40], health = [59]

    + +

    Output: 320

    +
    + +

     

    +

    Constraints:

    + +
      +
    • 1 <= power <= 104
    • +
    • 1 <= n == damage.length == health.length <= 105
    • +
    • 1 <= damage[i], health[i] <= 104
    • +
    + + + +## Solutions + + + +### Solution 1 + + + +#### Python3 + +```python + +``` + +#### Java + +```java + +``` + +#### C++ + +```cpp + +``` + +#### Go + +```go + +``` + + + + + + diff --git a/solution/3200-3299/3274.Check if Two Chessboard Squares Have the Same Color/README.md b/solution/3200-3299/3274.Check if Two Chessboard Squares Have the Same Color/README.md new file mode 100644 index 0000000000000..e17fedb01b2a0 --- /dev/null +++ b/solution/3200-3299/3274.Check if Two Chessboard Squares Have the Same Color/README.md @@ -0,0 +1,136 @@ +--- +comments: true +difficulty: 简单 +edit_url: https://github.com/doocs/leetcode/edit/main/solution/3200-3299/3274.Check%20if%20Two%20Chessboard%20Squares%20Have%20the%20Same%20Color/README.md +--- + + + +# [3274. 检查棋盘方格颜色是否相同](https://leetcode.cn/problems/check-if-two-chessboard-squares-have-the-same-color) + +[English Version](/solution/3200-3299/3274.Check%20if%20Two%20Chessboard%20Squares%20Have%20the%20Same%20Color/README_EN.md) + +## 题目描述 + + + +

    给你两个字符串 coordinate1coordinate2,代表 8 x 8 国际象棋棋盘上的两个方格的坐标。

    + +

    以下是棋盘的参考图。

    + +

    + +

    如果这两个方格颜色相同,返回 true,否则返回 false

    + +

    坐标总是表示有效的棋盘方格。坐标的格式总是先字母(表示列),再数字(表示行)。

    + +

     

    + +

    示例 1:

    + +
    +

    输入: coordinate1 = "a1", coordinate2 = "c3"

    + +

    输出: true

    + +

    解释:

    + +

    两个方格均为黑色。

    +
    + +

    示例 2:

    + +
    +

    输入: coordinate1 = "a1", coordinate2 = "h3"

    + +

    输出: false

    + +

    解释:

    + +

    方格 "a1" 是黑色,而 "h3" 是白色。

    +
    + +

     

    + +

    提示:

    + +
      +
    • coordinate1.length == coordinate2.length == 2
    • +
    • 'a' <= coordinate1[0], coordinate2[0] <= 'h'
    • +
    • '1' <= coordinate1[1], coordinate2[1] <= '8'
    • +
    + + + +## 解法 + + + +### 方法一:数学 + +我们计算两个坐标的横纵坐标的差值,如果两个坐标的横纵坐标的差值之和为偶数,那么这两个坐标的方格颜色相同,否则不同。 + +时间复杂度 $O(1)$,空间复杂度 $O(1)$。 + + + +#### Python3 + +```python +class Solution: + def checkTwoChessboards(self, coordinate1: str, coordinate2: str) -> bool: + x = ord(coordinate1[0]) - ord(coordinate2[0]) + y = int(coordinate1[1]) - int(coordinate2[1]) + return (x + y) % 2 == 0 +``` + +#### Java + +```java +class Solution { + public boolean checkTwoChessboards(String coordinate1, String coordinate2) { + int x = coordinate1.charAt(0) - coordinate2.charAt(0); + int y = coordinate1.charAt(1) - coordinate2.charAt(1); + return (x + y) % 2 == 0; + } +} +``` + +#### C++ + +```cpp +class Solution { +public: + bool checkTwoChessboards(string coordinate1, string coordinate2) { + int x = coordinate1[0] - coordinate2[0]; + int y = coordinate1[1] - coordinate2[1]; + return (x + y) % 2 == 0; + } +}; +``` + +#### Go + +```go +func checkTwoChessboards(coordinate1 string, coordinate2 string) bool { + x := coordinate1[0] - coordinate2[0] + y := coordinate1[1] - coordinate2[1] + return (x+y)%2 == 0 +} +``` + +#### TypeScript + +```ts +function checkTwoChessboards(coordinate1: string, coordinate2: string): boolean { + const x = coordinate1.charCodeAt(0) - coordinate2.charCodeAt(0); + const y = coordinate1.charCodeAt(1) - coordinate2.charCodeAt(1); + return (x + y) % 2 === 0; +} +``` + + + + + + diff --git a/solution/3200-3299/3274.Check if Two Chessboard Squares Have the Same Color/README_EN.md b/solution/3200-3299/3274.Check if Two Chessboard Squares Have the Same Color/README_EN.md new file mode 100644 index 0000000000000..1ad5139e272eb --- /dev/null +++ b/solution/3200-3299/3274.Check if Two Chessboard Squares Have the Same Color/README_EN.md @@ -0,0 +1,134 @@ +--- +comments: true +difficulty: Easy +edit_url: https://github.com/doocs/leetcode/edit/main/solution/3200-3299/3274.Check%20if%20Two%20Chessboard%20Squares%20Have%20the%20Same%20Color/README_EN.md +--- + + + +# [3274. Check if Two Chessboard Squares Have the Same Color](https://leetcode.com/problems/check-if-two-chessboard-squares-have-the-same-color) + +[中文文档](/solution/3200-3299/3274.Check%20if%20Two%20Chessboard%20Squares%20Have%20the%20Same%20Color/README.md) + +## Description + + + +

    You are given two strings, coordinate1 and coordinate2, representing the coordinates of a square on an 8 x 8 chessboard.

    + +

    Below is the chessboard for reference.

    + +

    + +

    Return true if these two squares have the same color and false otherwise.

    + +

    The coordinate will always represent a valid chessboard square. The coordinate will always have the letter first (indicating its column), and the number second (indicating its row).

    + +

     

    +

    Example 1:

    + +
    +

    Input: coordinate1 = "a1", coordinate2 = "c3"

    + +

    Output: true

    + +

    Explanation:

    + +

    Both squares are black.

    +
    + +

    Example 2:

    + +
    +

    Input: coordinate1 = "a1", coordinate2 = "h3"

    + +

    Output: false

    + +

    Explanation:

    + +

    Square "a1" is black and "h3" is white.

    +
    + +

     

    +

    Constraints:

    + +
      +
    • coordinate1.length == coordinate2.length == 2
    • +
    • 'a' <= coordinate1[0], coordinate2[0] <= 'h'
    • +
    • '1' <= coordinate1[1], coordinate2[1] <= '8'
    • +
    + + + +## Solutions + + + +### Solution 1: Mathematics + +We calculate the differences in the x-coordinates and y-coordinates of the two points. If the sum of these differences is even, then the colors of the squares at these two coordinates are the same; otherwise, they are different. + +The time complexity is $O(1)$, and the space complexity is $O(1)$. + + + +#### Python3 + +```python +class Solution: + def checkTwoChessboards(self, coordinate1: str, coordinate2: str) -> bool: + x = ord(coordinate1[0]) - ord(coordinate2[0]) + y = int(coordinate1[1]) - int(coordinate2[1]) + return (x + y) % 2 == 0 +``` + +#### Java + +```java +class Solution { + public boolean checkTwoChessboards(String coordinate1, String coordinate2) { + int x = coordinate1.charAt(0) - coordinate2.charAt(0); + int y = coordinate1.charAt(1) - coordinate2.charAt(1); + return (x + y) % 2 == 0; + } +} +``` + +#### C++ + +```cpp +class Solution { +public: + bool checkTwoChessboards(string coordinate1, string coordinate2) { + int x = coordinate1[0] - coordinate2[0]; + int y = coordinate1[1] - coordinate2[1]; + return (x + y) % 2 == 0; + } +}; +``` + +#### Go + +```go +func checkTwoChessboards(coordinate1 string, coordinate2 string) bool { + x := coordinate1[0] - coordinate2[0] + y := coordinate1[1] - coordinate2[1] + return (x+y)%2 == 0 +} +``` + +#### TypeScript + +```ts +function checkTwoChessboards(coordinate1: string, coordinate2: string): boolean { + const x = coordinate1.charCodeAt(0) - coordinate2.charCodeAt(0); + const y = coordinate1.charCodeAt(1) - coordinate2.charCodeAt(1); + return (x + y) % 2 === 0; +} +``` + + + + + + diff --git a/solution/3200-3299/3274.Check if Two Chessboard Squares Have the Same Color/Solution.cpp b/solution/3200-3299/3274.Check if Two Chessboard Squares Have the Same Color/Solution.cpp new file mode 100644 index 0000000000000..534e3c432d676 --- /dev/null +++ b/solution/3200-3299/3274.Check if Two Chessboard Squares Have the Same Color/Solution.cpp @@ -0,0 +1,8 @@ +class Solution { +public: + bool checkTwoChessboards(string coordinate1, string coordinate2) { + int x = coordinate1[0] - coordinate2[0]; + int y = coordinate1[1] - coordinate2[1]; + return (x + y) % 2 == 0; + } +}; diff --git a/solution/3200-3299/3274.Check if Two Chessboard Squares Have the Same Color/Solution.go b/solution/3200-3299/3274.Check if Two Chessboard Squares Have the Same Color/Solution.go new file mode 100644 index 0000000000000..2be8d124951fc --- /dev/null +++ b/solution/3200-3299/3274.Check if Two Chessboard Squares Have the Same Color/Solution.go @@ -0,0 +1,5 @@ +func checkTwoChessboards(coordinate1 string, coordinate2 string) bool { + x := coordinate1[0] - coordinate2[0] + y := coordinate1[1] - coordinate2[1] + return (x+y)%2 == 0 +} diff --git a/solution/3200-3299/3274.Check if Two Chessboard Squares Have the Same Color/Solution.java b/solution/3200-3299/3274.Check if Two Chessboard Squares Have the Same Color/Solution.java new file mode 100644 index 0000000000000..f2fb94d948866 --- /dev/null +++ b/solution/3200-3299/3274.Check if Two Chessboard Squares Have the Same Color/Solution.java @@ -0,0 +1,7 @@ +class Solution { + public boolean checkTwoChessboards(String coordinate1, String coordinate2) { + int x = coordinate1.charAt(0) - coordinate2.charAt(0); + int y = coordinate1.charAt(1) - coordinate2.charAt(1); + return (x + y) % 2 == 0; + } +} diff --git a/solution/3200-3299/3274.Check if Two Chessboard Squares Have the Same Color/Solution.py b/solution/3200-3299/3274.Check if Two Chessboard Squares Have the Same Color/Solution.py new file mode 100644 index 0000000000000..f24986e722175 --- /dev/null +++ b/solution/3200-3299/3274.Check if Two Chessboard Squares Have the Same Color/Solution.py @@ -0,0 +1,5 @@ +class Solution: + def checkTwoChessboards(self, coordinate1: str, coordinate2: str) -> bool: + x = ord(coordinate1[0]) - ord(coordinate2[0]) + y = int(coordinate1[1]) - int(coordinate2[1]) + return (x + y) % 2 == 0 diff --git a/solution/3200-3299/3274.Check if Two Chessboard Squares Have the Same Color/Solution.ts b/solution/3200-3299/3274.Check if Two Chessboard Squares Have the Same Color/Solution.ts new file mode 100644 index 0000000000000..34badb2c4f113 --- /dev/null +++ b/solution/3200-3299/3274.Check if Two Chessboard Squares Have the Same Color/Solution.ts @@ -0,0 +1,5 @@ +function checkTwoChessboards(coordinate1: string, coordinate2: string): boolean { + const x = coordinate1.charCodeAt(0) - coordinate2.charCodeAt(0); + const y = coordinate1.charCodeAt(1) - coordinate2.charCodeAt(1); + return (x + y) % 2 === 0; +} diff --git a/solution/3200-3299/3274.Check if Two Chessboard Squares Have the Same Color/images/screenshot-2021-02-20-at-22159-pm.png b/solution/3200-3299/3274.Check if Two Chessboard Squares Have the Same Color/images/screenshot-2021-02-20-at-22159-pm.png new file mode 100644 index 0000000000000000000000000000000000000000..f53ef96e69430da24511e88fd8bd4333625a4438 GIT binary patch literal 244163 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 ahVZ;>v?irAYCi@3s48kG6yJLq^8WxN%Y~Z& literal 0 HcmV?d00001 diff --git a/solution/3200-3299/3275.K-th Nearest Obstacle Queries/README.md b/solution/3200-3299/3275.K-th Nearest Obstacle Queries/README.md new file mode 100644 index 0000000000000..9fbb692d4ad97 --- /dev/null +++ b/solution/3200-3299/3275.K-th Nearest Obstacle Queries/README.md @@ -0,0 +1,218 @@ +--- +comments: true +difficulty: 中等 +edit_url: https://github.com/doocs/leetcode/edit/main/solution/3200-3299/3275.K-th%20Nearest%20Obstacle%20Queries/README.md +--- + + + +# [3275. 第 K 近障碍物查询](https://leetcode.cn/problems/k-th-nearest-obstacle-queries) + +[English Version](/solution/3200-3299/3275.K-th%20Nearest%20Obstacle%20Queries/README_EN.md) + +## 题目描述 + + + +

      有一个无限大的二维平面。

      + +

      给你一个正整数 k ,同时给你一个二维数组 queries ,包含一系列查询:

      + +
        +
      • queries[i] = [x, y] :在平面上坐标 (x, y) 处建一个障碍物,数据保证之前的查询 不会 在这个坐标处建立任何障碍物。
      • +
      + +

      每次查询后,你需要找到离原点第 k  障碍物到原点的 距离 。

      + +

      请你返回一个整数数组 results ,其中 results[i] 表示建立第 i 个障碍物以后,离原地第 k 近障碍物距离原点的距离。如果少于 k 个障碍物,results[i] == -1 。

      + +

      注意,一开始 没有 任何障碍物。

      + +

      坐标在 (x, y) 处的点距离原点的距离定义为 |x| + |y| 。

      + +

       

      + +

      示例 1:

      + +
      +

      输入:queries = [[1,2],[3,4],[2,3],[-3,0]], k = 2

      + +

      输出:[-1,7,5,3]

      + +

      解释:

      + +

      最初,不存在障碍物。

      + +
        +
      • queries[0] 之后,少于 2 个障碍物。
      • +
      • queries[1] 之后, 两个障碍物距离原点的距离分别为 3 和 7 。
      • +
      • queries[2] 之后,障碍物距离原点的距离分别为 3 ,5 和 7 。
      • +
      • queries[3] 之后,障碍物距离原点的距离分别为 3,3,5 和 7 。
      • +
      +
      + +

      示例 2:

      + +
      +

      输入:queries = [[5,5],[4,4],[3,3]], k = 1

      + +

      输出:[10,8,6]

      + +

      解释:

      + +
        +
      • queries[0] 之后,只有一个障碍物,距离原点距离为 10 。
      • +
      • queries[1] 之后,障碍物距离原点距离分别为 8 和 10 。
      • +
      • queries[2] 之后,障碍物距离原点的距离分别为 6, 8 和10 。
      • +
      +
      + +

       

      + +

      提示:

      + +
        +
      • 1 <= queries.length <= 2 * 105
      • +
      • 所有 queries[i] 互不相同。
      • +
      • -109 <= queries[i][0], queries[i][1] <= 109
      • +
      • 1 <= k <= 105
      • +
      + + + +## 解法 + + + +### 方法一:优先队列(大根堆) + +我们可以使用一个优先队列(大根堆)来维护离原点最近的 $k$ 个障碍物。 + +遍历 $\textit{queries}$,每次计算 $x$ 和 $y$ 的绝对值之和,然后将其加入优先队列。如果优先队列的大小超过 $k$,则弹出堆顶元素。如果当前优先队列的大小等于 $k$,则将堆顶元素加入答案数组,否则将 $-1$ 加入答案数组。 + +遍历结束后,返回答案数组即可。 + +时间复杂度 $O(n \times \log k)$,空间复杂度 $O(k)$。其中 $n$ 为数组 $\textit{queries}$ 的长度。 + + + +#### Python3 + +```python +class Solution: + def resultsArray(self, queries: List[List[int]], k: int) -> List[int]: + ans = [] + pq = [] + for i, (x, y) in enumerate(queries): + heappush(pq, -(abs(x) + abs(y))) + if i >= k: + heappop(pq) + ans.append(-pq[0] if i >= k - 1 else -1) + return ans +``` + +#### Java + +```java +class Solution { + public int[] resultsArray(int[][] queries, int k) { + int n = queries.length; + int[] ans = new int[n]; + PriorityQueue pq = new PriorityQueue<>(Collections.reverseOrder()); + for (int i = 0; i < n; ++i) { + int x = Math.abs(queries[i][0]) + Math.abs(queries[i][1]); + pq.offer(x); + if (i >= k) { + pq.poll(); + } + ans[i] = i >= k - 1 ? pq.peek() : -1; + } + return ans; + } +} +``` + +#### C++ + +```cpp +class Solution { +public: + vector resultsArray(vector>& queries, int k) { + vector ans; + priority_queue pq; + for (const auto& q : queries) { + int x = abs(q[0]) + abs(q[1]); + pq.push(x); + if (pq.size() > k) { + pq.pop(); + } + ans.push_back(pq.size() == k ? pq.top() : -1); + } + return ans; + } +}; +``` + +#### Go + +```go +func resultsArray(queries [][]int, k int) (ans []int) { + pq := &hp{} + for _, q := range queries { + x := abs(q[0]) + abs(q[1]) + pq.push(x) + if pq.Len() > k { + pq.pop() + } + if pq.Len() == k { + ans = append(ans, pq.IntSlice[0]) + } else { + ans = append(ans, -1) + } + } + return +} + +func abs(x int) int { + if x < 0 { + return -x + } + return x +} + +type hp struct{ sort.IntSlice } + +func (h hp) Less(i, j int) bool { return h.IntSlice[i] > h.IntSlice[j] } +func (h *hp) Push(v any) { h.IntSlice = append(h.IntSlice, v.(int)) } +func (h *hp) Pop() any { + a := h.IntSlice + v := a[len(a)-1] + h.IntSlice = a[:len(a)-1] + return v +} +func (h *hp) push(v int) { heap.Push(h, v) } +func (h *hp) pop() int { return heap.Pop(h).(int) } +``` + +#### TypeScript + +```ts +function resultsArray(queries: number[][], k: number): number[] { + const pq = new MaxPriorityQueue(); + const ans: number[] = []; + for (const [x, y] of queries) { + pq.enqueue(Math.abs(x) + Math.abs(y)); + if (pq.size() > k) { + pq.dequeue(); + } + ans.push(pq.size() === k ? pq.front().element : -1); + } + return ans; +} +``` + + + + + + diff --git a/solution/3200-3299/3275.K-th Nearest Obstacle Queries/README_EN.md b/solution/3200-3299/3275.K-th Nearest Obstacle Queries/README_EN.md new file mode 100644 index 0000000000000..21305b3d668f2 --- /dev/null +++ b/solution/3200-3299/3275.K-th Nearest Obstacle Queries/README_EN.md @@ -0,0 +1,215 @@ +--- +comments: true +difficulty: Medium +edit_url: https://github.com/doocs/leetcode/edit/main/solution/3200-3299/3275.K-th%20Nearest%20Obstacle%20Queries/README_EN.md +--- + + + +# [3275. K-th Nearest Obstacle Queries](https://leetcode.com/problems/k-th-nearest-obstacle-queries) + +[中文文档](/solution/3200-3299/3275.K-th%20Nearest%20Obstacle%20Queries/README.md) + +## Description + + + +

      There is an infinite 2D plane.

      + +

      You are given a positive integer k. You are also given a 2D array queries, which contains the following queries:

      + +
        +
      • queries[i] = [x, y]: Build an obstacle at coordinate (x, y) in the plane. It is guaranteed that there is no obstacle at this coordinate when this query is made.
      • +
      + +

      After each query, you need to find the distance of the kth nearest obstacle from the origin.

      + +

      Return an integer array results where results[i] denotes the kth nearest obstacle after query i, or results[i] == -1 if there are less than k obstacles.

      + +

      Note that initially there are no obstacles anywhere.

      + +

      The distance of an obstacle at coordinate (x, y) from the origin is given by |x| + |y|.

      + +

       

      +

      Example 1:

      + +
      +

      Input: queries = [[1,2],[3,4],[2,3],[-3,0]], k = 2

      + +

      Output: [-1,7,5,3]

      + +

      Explanation:

      + +
        +
      • Initially, there are 0 obstacles.
      • +
      • After queries[0], there are less than 2 obstacles.
      • +
      • After queries[1], there are obstacles at distances 3 and 7.
      • +
      • After queries[2], there are obstacles at distances 3, 5, and 7.
      • +
      • After queries[3], there are obstacles at distances 3, 3, 5, and 7.
      • +
      +
      + +

      Example 2:

      + +
      +

      Input: queries = [[5,5],[4,4],[3,3]], k = 1

      + +

      Output: [10,8,6]

      + +

      Explanation:

      + +
        +
      • After queries[0], there is an obstacle at distance 10.
      • +
      • After queries[1], there are obstacles at distances 8 and 10.
      • +
      • After queries[2], there are obstacles at distances 6, 8, and 10.
      • +
      +
      + +

       

      +

      Constraints:

      + +
        +
      • 1 <= queries.length <= 2 * 105
      • +
      • All queries[i] are unique.
      • +
      • -109 <= queries[i][0], queries[i][1] <= 109
      • +
      • 1 <= k <= 105
      • +
      + + + +## Solutions + + + +### Solution 1: Priority Queue (Max-Heap) + +We can use a priority queue (max-heap) to maintain the $k$ obstacles closest to the origin. + +Traverse $\textit{queries}$, and for each query, calculate the sum of the absolute values of $x$ and $y$, then add it to the priority queue. If the size of the priority queue exceeds $k$, pop the top element. If the current size of the priority queue is equal to $k$, add the top element to the answer array; otherwise, add $-1$ to the answer array. + +After the traversal, return the answer array. + +The time complexity is $O(n \times \log k)$, and the space complexity is $O(k)$. Here, $n$ is the length of the array $\textit{queries}$. + + + +#### Python3 + +```python +class Solution: + def resultsArray(self, queries: List[List[int]], k: int) -> List[int]: + ans = [] + pq = [] + for i, (x, y) in enumerate(queries): + heappush(pq, -(abs(x) + abs(y))) + if i >= k: + heappop(pq) + ans.append(-pq[0] if i >= k - 1 else -1) + return ans +``` + +#### Java + +```java +class Solution { + public int[] resultsArray(int[][] queries, int k) { + int n = queries.length; + int[] ans = new int[n]; + PriorityQueue pq = new PriorityQueue<>(Collections.reverseOrder()); + for (int i = 0; i < n; ++i) { + int x = Math.abs(queries[i][0]) + Math.abs(queries[i][1]); + pq.offer(x); + if (i >= k) { + pq.poll(); + } + ans[i] = i >= k - 1 ? pq.peek() : -1; + } + return ans; + } +} +``` + +#### C++ + +```cpp +class Solution { +public: + vector resultsArray(vector>& queries, int k) { + vector ans; + priority_queue pq; + for (const auto& q : queries) { + int x = abs(q[0]) + abs(q[1]); + pq.push(x); + if (pq.size() > k) { + pq.pop(); + } + ans.push_back(pq.size() == k ? pq.top() : -1); + } + return ans; + } +}; +``` + +#### Go + +```go +func resultsArray(queries [][]int, k int) (ans []int) { + pq := &hp{} + for _, q := range queries { + x := abs(q[0]) + abs(q[1]) + pq.push(x) + if pq.Len() > k { + pq.pop() + } + if pq.Len() == k { + ans = append(ans, pq.IntSlice[0]) + } else { + ans = append(ans, -1) + } + } + return +} + +func abs(x int) int { + if x < 0 { + return -x + } + return x +} + +type hp struct{ sort.IntSlice } + +func (h hp) Less(i, j int) bool { return h.IntSlice[i] > h.IntSlice[j] } +func (h *hp) Push(v any) { h.IntSlice = append(h.IntSlice, v.(int)) } +func (h *hp) Pop() any { + a := h.IntSlice + v := a[len(a)-1] + h.IntSlice = a[:len(a)-1] + return v +} +func (h *hp) push(v int) { heap.Push(h, v) } +func (h *hp) pop() int { return heap.Pop(h).(int) } +``` + +#### TypeScript + +```ts +function resultsArray(queries: number[][], k: number): number[] { + const pq = new MaxPriorityQueue(); + const ans: number[] = []; + for (const [x, y] of queries) { + pq.enqueue(Math.abs(x) + Math.abs(y)); + if (pq.size() > k) { + pq.dequeue(); + } + ans.push(pq.size() === k ? pq.front().element : -1); + } + return ans; +} +``` + + + + + + diff --git a/solution/3200-3299/3275.K-th Nearest Obstacle Queries/Solution.cpp b/solution/3200-3299/3275.K-th Nearest Obstacle Queries/Solution.cpp new file mode 100644 index 0000000000000..03d1a4996f1d6 --- /dev/null +++ b/solution/3200-3299/3275.K-th Nearest Obstacle Queries/Solution.cpp @@ -0,0 +1,16 @@ +class Solution { +public: + vector resultsArray(vector>& queries, int k) { + vector ans; + priority_queue pq; + for (const auto& q : queries) { + int x = abs(q[0]) + abs(q[1]); + pq.push(x); + if (pq.size() > k) { + pq.pop(); + } + ans.push_back(pq.size() == k ? pq.top() : -1); + } + return ans; + } +}; diff --git a/solution/3200-3299/3275.K-th Nearest Obstacle Queries/Solution.go b/solution/3200-3299/3275.K-th Nearest Obstacle Queries/Solution.go new file mode 100644 index 0000000000000..483f9053018e9 --- /dev/null +++ b/solution/3200-3299/3275.K-th Nearest Obstacle Queries/Solution.go @@ -0,0 +1,36 @@ +func resultsArray(queries [][]int, k int) (ans []int) { + pq := &hp{} + for _, q := range queries { + x := abs(q[0]) + abs(q[1]) + pq.push(x) + if pq.Len() > k { + pq.pop() + } + if pq.Len() == k { + ans = append(ans, pq.IntSlice[0]) + } else { + ans = append(ans, -1) + } + } + return +} + +func abs(x int) int { + if x < 0 { + return -x + } + return x +} + +type hp struct{ sort.IntSlice } + +func (h hp) Less(i, j int) bool { return h.IntSlice[i] > h.IntSlice[j] } +func (h *hp) Push(v any) { h.IntSlice = append(h.IntSlice, v.(int)) } +func (h *hp) Pop() any { + a := h.IntSlice + v := a[len(a)-1] + h.IntSlice = a[:len(a)-1] + return v +} +func (h *hp) push(v int) { heap.Push(h, v) } +func (h *hp) pop() int { return heap.Pop(h).(int) } diff --git a/solution/3200-3299/3275.K-th Nearest Obstacle Queries/Solution.java b/solution/3200-3299/3275.K-th Nearest Obstacle Queries/Solution.java new file mode 100644 index 0000000000000..e89c564738bc4 --- /dev/null +++ b/solution/3200-3299/3275.K-th Nearest Obstacle Queries/Solution.java @@ -0,0 +1,16 @@ +class Solution { + public int[] resultsArray(int[][] queries, int k) { + int n = queries.length; + int[] ans = new int[n]; + PriorityQueue pq = new PriorityQueue<>(Collections.reverseOrder()); + for (int i = 0; i < n; ++i) { + int x = Math.abs(queries[i][0]) + Math.abs(queries[i][1]); + pq.offer(x); + if (i >= k) { + pq.poll(); + } + ans[i] = i >= k - 1 ? pq.peek() : -1; + } + return ans; + } +} diff --git a/solution/3200-3299/3275.K-th Nearest Obstacle Queries/Solution.py b/solution/3200-3299/3275.K-th Nearest Obstacle Queries/Solution.py new file mode 100644 index 0000000000000..86253ad8a0de9 --- /dev/null +++ b/solution/3200-3299/3275.K-th Nearest Obstacle Queries/Solution.py @@ -0,0 +1,10 @@ +class Solution: + def resultsArray(self, queries: List[List[int]], k: int) -> List[int]: + ans = [] + pq = [] + for i, (x, y) in enumerate(queries): + heappush(pq, -(abs(x) + abs(y))) + if i >= k: + heappop(pq) + ans.append(-pq[0] if i >= k - 1 else -1) + return ans diff --git a/solution/3200-3299/3275.K-th Nearest Obstacle Queries/Solution.ts b/solution/3200-3299/3275.K-th Nearest Obstacle Queries/Solution.ts new file mode 100644 index 0000000000000..4119fe564b497 --- /dev/null +++ b/solution/3200-3299/3275.K-th Nearest Obstacle Queries/Solution.ts @@ -0,0 +1,12 @@ +function resultsArray(queries: number[][], k: number): number[] { + const pq = new MaxPriorityQueue(); + const ans: number[] = []; + for (const [x, y] of queries) { + pq.enqueue(Math.abs(x) + Math.abs(y)); + if (pq.size() > k) { + pq.dequeue(); + } + ans.push(pq.size() === k ? pq.front().element : -1); + } + return ans; +} diff --git a/solution/3200-3299/3276.Select Cells in Grid With Maximum Score/README.md b/solution/3200-3299/3276.Select Cells in Grid With Maximum Score/README.md new file mode 100644 index 0000000000000..3e3b26778c497 --- /dev/null +++ b/solution/3200-3299/3276.Select Cells in Grid With Maximum Score/README.md @@ -0,0 +1,236 @@ +--- +comments: true +difficulty: 困难 +edit_url: https://github.com/doocs/leetcode/edit/main/solution/3200-3299/3276.Select%20Cells%20in%20Grid%20With%20Maximum%20Score/README.md +--- + + + +# [3276. 选择矩阵中单元格的最大得分](https://leetcode.cn/problems/select-cells-in-grid-with-maximum-score) + +[English Version](/solution/3200-3299/3276.Select%20Cells%20in%20Grid%20With%20Maximum%20Score/README_EN.md) + +## 题目描述 + + + +

      给你一个由正整数构成的二维矩阵 grid

      + +

      你需要从矩阵中选择 一个或多个 单元格,选中的单元格应满足以下条件:

      + +
        +
      • 所选单元格中的任意两个单元格都不会处于矩阵的 同一行
      • +
      • 所选单元格的值 互不相同
      • +
      + +

      你的得分为所选单元格值的总和

      + +

      返回你能获得的 最大 得分。

      + +

       

      + +

      示例 1:

      + +
      +

      输入: grid = [[1,2,3],[4,3,2],[1,1,1]]

      + +

      输出: 8

      + +

      解释:

      + +

      + +

      选择上图中用彩色标记的单元格,对应的值分别为 1、3 和 4 。

      +
      + +

      示例 2:

      + +
      +

      输入: grid = [[8,7,6],[8,3,2]]

      + +

      输出: 15

      + +

      解释:

      + +

      + +

      选择上图中用彩色标记的单元格,对应的值分别为 7 和 8 。

      +
      + +

       

      + +

      提示:

      + +
        +
      • 1 <= grid.length, grid[i].length <= 10
      • +
      • 1 <= grid[i][j] <= 100
      • +
      + + + +## 解法 + + + +### 方法一:状态压缩动态规划 + +我们定义 $f[i][j]$ 表示在 $[1,..i]$ 的数中进行选择,且选择的数对应的行的状态为 $j$ 时的最大得分。初始时 $f[i][j] = 0$,答案为 $f[\textit{mx}][2^m - 1]$。其中 $\textit{mx}$ 表示矩阵中的最大值,而 $m$ 表示矩阵的行数。 + +我们首先对矩阵进行预处理,使用一个哈希表 $g$ 记录每个数对应的行的集合。然后我们可以使用状态压缩动态规划的方法求解答案。 + +对于状态 $f[i][j]$,我们可以不选择 $i$ 这个数,此时 $f[i][j] = f[i-1][j]$;也可以选择 $i$ 这个数,此时我们需要枚举 $i$ 对应的行的集合 $g[i]$ 中的每一个行 $k$,如果 $j$ 的第 $k$ 位为 $1$,则说明我们可以选择 $i$ 这个数,此时 $f[i][j] = \max(f[i][j], f[i-1][j \oplus 2^k] + i)$。 + +最后我们返回 $f[\textit{mx}][2^m - 1]$ 即可。 + +时间复杂度 $O(m \times 2^m \times \textit{mx})$,空间复杂度 $O(\textit{mx} \times 2^m)$。其中 $m$ 为矩阵的行数,而 $\textit{mx}$ 为矩阵中的最大值。 + + + +#### Python3 + +```python +class Solution: + def maxScore(self, grid: List[List[int]]) -> int: + g = defaultdict(set) + mx = 0 + for i, row in enumerate(grid): + for x in row: + g[x].add(i) + mx = max(mx, x) + m = len(grid) + f = [[0] * (1 << m) for _ in range(mx + 1)] + for i in range(1, mx + 1): + for j in range(1 << m): + f[i][j] = f[i - 1][j] + for k in g[i]: + if j >> k & 1: + f[i][j] = max(f[i][j], f[i - 1][j ^ 1 << k] + i) + return f[-1][-1] +``` + +#### Java + +```java +class Solution { + public int maxScore(List> grid) { + int m = grid.size(); + int mx = 0; + boolean[][] g = new boolean[101][m + 1]; + for (int i = 0; i < m; ++i) { + for (int x : grid.get(i)) { + g[x][i] = true; + mx = Math.max(mx, x); + } + } + int[][] f = new int[mx + 1][1 << m]; + for (int i = 1; i <= mx; ++i) { + for (int j = 0; j < 1 << m; ++j) { + f[i][j] = f[i - 1][j]; + for (int k = 0; k < m; ++k) { + if (g[i][k] && (j >> k & 1) == 1) { + f[i][j] = Math.max(f[i][j], f[i - 1][j ^ 1 << k] + i); + } + } + } + } + return f[mx][(1 << m) - 1]; + } +} +``` + +#### C++ + +```cpp +class Solution { +public: + int maxScore(vector>& grid) { + int m = grid.size(); + int mx = 0; + bool g[101][11]{}; + for (int i = 0; i < m; ++i) { + for (int x : grid[i]) { + g[x][i] = true; + mx = max(mx, x); + } + } + int f[mx + 1][1 << m]; + memset(f, 0, sizeof(f)); + for (int i = 1; i <= mx; ++i) { + for (int j = 0; j < 1 << m; ++j) { + f[i][j] = f[i - 1][j]; + for (int k = 0; k < m; ++k) { + if (g[i][k] && (j >> k & 1) == 1) { + f[i][j] = max(f[i][j], f[i - 1][j ^ 1 << k] + i); + } + } + } + } + return f[mx][(1 << m) - 1]; + } +}; +``` + +#### Go + +```go +func maxScore(grid [][]int) int { + m := len(grid) + mx := 0 + g := [101][11]bool{} + for i, row := range grid { + for _, x := range row { + g[x][i] = true + mx = max(mx, x) + } + } + f := make([][]int, mx+1) + for i := range f { + f[i] = make([]int, 1<>k&1) == 1 { + f[i][j] = max(f[i][j], f[i-1][j^1< Array(m + 1).fill(false)); + for (let i = 0; i < m; ++i) { + for (const x of grid[i]) { + g[x][i] = true; + mx = Math.max(mx, x); + } + } + const f: number[][] = Array.from({ length: mx + 1 }, () => Array(1 << m).fill(0)); + for (let i = 1; i <= mx; ++i) { + for (let j = 0; j < 1 << m; ++j) { + f[i][j] = f[i - 1][j]; + for (let k = 0; k < m; ++k) { + if (g[i][k] && ((j >> k) & 1) === 1) { + f[i][j] = Math.max(f[i][j], f[i - 1][j ^ (1 << k)] + i); + } + } + } + } + return f[mx][(1 << m) - 1]; +} +``` + + + + + + diff --git a/solution/3200-3299/3276.Select Cells in Grid With Maximum Score/README_EN.md b/solution/3200-3299/3276.Select Cells in Grid With Maximum Score/README_EN.md new file mode 100644 index 0000000000000..27ce84e93e738 --- /dev/null +++ b/solution/3200-3299/3276.Select Cells in Grid With Maximum Score/README_EN.md @@ -0,0 +1,234 @@ +--- +comments: true +difficulty: Hard +edit_url: https://github.com/doocs/leetcode/edit/main/solution/3200-3299/3276.Select%20Cells%20in%20Grid%20With%20Maximum%20Score/README_EN.md +--- + + + +# [3276. Select Cells in Grid With Maximum Score](https://leetcode.com/problems/select-cells-in-grid-with-maximum-score) + +[中文文档](/solution/3200-3299/3276.Select%20Cells%20in%20Grid%20With%20Maximum%20Score/README.md) + +## Description + + + +

      You are given a 2D matrix grid consisting of positive integers.

      + +

      You have to select one or more cells from the matrix such that the following conditions are satisfied:

      + +
        +
      • No two selected cells are in the same row of the matrix.
      • +
      • The values in the set of selected cells are unique.
      • +
      + +

      Your score will be the sum of the values of the selected cells.

      + +

      Return the maximum score you can achieve.

      + +

       

      +

      Example 1:

      + +
      +

      Input: grid = [[1,2,3],[4,3,2],[1,1,1]]

      + +

      Output: 8

      + +

      Explanation:

      + +

      + +

      We can select the cells with values 1, 3, and 4 that are colored above.

      +
      + +

      Example 2:

      + +
      +

      Input: grid = [[8,7,6],[8,3,2]]

      + +

      Output: 15

      + +

      Explanation:

      + +

      + +

      We can select the cells with values 7 and 8 that are colored above.

      +
      + +

       

      +

      Constraints:

      + +
        +
      • 1 <= grid.length, grid[i].length <= 10
      • +
      • 1 <= grid[i][j] <= 100
      • +
      + + + +## Solutions + + + +### Solution 1: State Compression Dynamic Programming + +We define $f[i][j]$ to represent the maximum score when selecting numbers from $[1,..i]$ and the state of the rows corresponding to the selected numbers is $j$. Initially, $f[i][j] = 0$, and the answer is $f[\textit{mx}][2^m - 1]$, where $\textit{mx}$ represents the maximum value in the matrix, and $m$ represents the number of rows in the matrix. + +First, we preprocess the matrix using a hash table $g$ to record the set of rows corresponding to each number. Then, we can use state compression dynamic programming to solve the problem. + +For the state $f[i][j]$, we can choose not to select the number $i$, in which case $f[i][j] = f[i-1][j]$. Alternatively, we can choose the number $i$. In this case, we need to enumerate each row $k$ in the set $g[i]$ corresponding to the number $i$. If the $k$-th bit of $j$ is $1$, it means we can select the number $i$. Thus, $f[i][j] = \max(f[i][j], f[i-1][j \oplus 2^k] + i)$. + +Finally, we return $f[\textit{mx}][2^m - 1]$. + +The time complexity is $O(m \times 2^m \times \textit{mx})$, and the space complexity is $O(\textit{mx} \times 2^m)$. Here, $m$ is the number of rows in the matrix, and $\textit{mx}$ is the maximum value in the matrix. + + + +#### Python3 + +```python +class Solution: + def maxScore(self, grid: List[List[int]]) -> int: + g = defaultdict(set) + mx = 0 + for i, row in enumerate(grid): + for x in row: + g[x].add(i) + mx = max(mx, x) + m = len(grid) + f = [[0] * (1 << m) for _ in range(mx + 1)] + for i in range(1, mx + 1): + for j in range(1 << m): + f[i][j] = f[i - 1][j] + for k in g[i]: + if j >> k & 1: + f[i][j] = max(f[i][j], f[i - 1][j ^ 1 << k] + i) + return f[-1][-1] +``` + +#### Java + +```java +class Solution { + public int maxScore(List> grid) { + int m = grid.size(); + int mx = 0; + boolean[][] g = new boolean[101][m + 1]; + for (int i = 0; i < m; ++i) { + for (int x : grid.get(i)) { + g[x][i] = true; + mx = Math.max(mx, x); + } + } + int[][] f = new int[mx + 1][1 << m]; + for (int i = 1; i <= mx; ++i) { + for (int j = 0; j < 1 << m; ++j) { + f[i][j] = f[i - 1][j]; + for (int k = 0; k < m; ++k) { + if (g[i][k] && (j >> k & 1) == 1) { + f[i][j] = Math.max(f[i][j], f[i - 1][j ^ 1 << k] + i); + } + } + } + } + return f[mx][(1 << m) - 1]; + } +} +``` + +#### C++ + +```cpp +class Solution { +public: + int maxScore(vector>& grid) { + int m = grid.size(); + int mx = 0; + bool g[101][11]{}; + for (int i = 0; i < m; ++i) { + for (int x : grid[i]) { + g[x][i] = true; + mx = max(mx, x); + } + } + int f[mx + 1][1 << m]; + memset(f, 0, sizeof(f)); + for (int i = 1; i <= mx; ++i) { + for (int j = 0; j < 1 << m; ++j) { + f[i][j] = f[i - 1][j]; + for (int k = 0; k < m; ++k) { + if (g[i][k] && (j >> k & 1) == 1) { + f[i][j] = max(f[i][j], f[i - 1][j ^ 1 << k] + i); + } + } + } + } + return f[mx][(1 << m) - 1]; + } +}; +``` + +#### Go + +```go +func maxScore(grid [][]int) int { + m := len(grid) + mx := 0 + g := [101][11]bool{} + for i, row := range grid { + for _, x := range row { + g[x][i] = true + mx = max(mx, x) + } + } + f := make([][]int, mx+1) + for i := range f { + f[i] = make([]int, 1<>k&1) == 1 { + f[i][j] = max(f[i][j], f[i-1][j^1< Array(m + 1).fill(false)); + for (let i = 0; i < m; ++i) { + for (const x of grid[i]) { + g[x][i] = true; + mx = Math.max(mx, x); + } + } + const f: number[][] = Array.from({ length: mx + 1 }, () => Array(1 << m).fill(0)); + for (let i = 1; i <= mx; ++i) { + for (let j = 0; j < 1 << m; ++j) { + f[i][j] = f[i - 1][j]; + for (let k = 0; k < m; ++k) { + if (g[i][k] && ((j >> k) & 1) === 1) { + f[i][j] = Math.max(f[i][j], f[i - 1][j ^ (1 << k)] + i); + } + } + } + } + return f[mx][(1 << m) - 1]; +} +``` + + + + + + diff --git a/solution/3200-3299/3276.Select Cells in Grid With Maximum Score/Solution.cpp b/solution/3200-3299/3276.Select Cells in Grid With Maximum Score/Solution.cpp new file mode 100644 index 0000000000000..5a592585f825e --- /dev/null +++ b/solution/3200-3299/3276.Select Cells in Grid With Maximum Score/Solution.cpp @@ -0,0 +1,27 @@ +class Solution { +public: + int maxScore(vector>& grid) { + int m = grid.size(); + int mx = 0; + bool g[101][11]{}; + for (int i = 0; i < m; ++i) { + for (int x : grid[i]) { + g[x][i] = true; + mx = max(mx, x); + } + } + int f[mx + 1][1 << m]; + memset(f, 0, sizeof(f)); + for (int i = 1; i <= mx; ++i) { + for (int j = 0; j < 1 << m; ++j) { + f[i][j] = f[i - 1][j]; + for (int k = 0; k < m; ++k) { + if (g[i][k] && (j >> k & 1) == 1) { + f[i][j] = max(f[i][j], f[i - 1][j ^ 1 << k] + i); + } + } + } + } + return f[mx][(1 << m) - 1]; + } +}; diff --git a/solution/3200-3299/3276.Select Cells in Grid With Maximum Score/Solution.go b/solution/3200-3299/3276.Select Cells in Grid With Maximum Score/Solution.go new file mode 100644 index 0000000000000..f65dff1d57b67 --- /dev/null +++ b/solution/3200-3299/3276.Select Cells in Grid With Maximum Score/Solution.go @@ -0,0 +1,26 @@ +func maxScore(grid [][]int) int { + m := len(grid) + mx := 0 + g := [101][11]bool{} + for i, row := range grid { + for _, x := range row { + g[x][i] = true + mx = max(mx, x) + } + } + f := make([][]int, mx+1) + for i := range f { + f[i] = make([]int, 1<>k&1) == 1 { + f[i][j] = max(f[i][j], f[i-1][j^1<> grid) { + int m = grid.size(); + int mx = 0; + boolean[][] g = new boolean[101][m + 1]; + for (int i = 0; i < m; ++i) { + for (int x : grid.get(i)) { + g[x][i] = true; + mx = Math.max(mx, x); + } + } + int[][] f = new int[mx + 1][1 << m]; + for (int i = 1; i <= mx; ++i) { + for (int j = 0; j < 1 << m; ++j) { + f[i][j] = f[i - 1][j]; + for (int k = 0; k < m; ++k) { + if (g[i][k] && (j >> k & 1) == 1) { + f[i][j] = Math.max(f[i][j], f[i - 1][j ^ 1 << k] + i); + } + } + } + } + return f[mx][(1 << m) - 1]; + } +} diff --git a/solution/3200-3299/3276.Select Cells in Grid With Maximum Score/Solution.py b/solution/3200-3299/3276.Select Cells in Grid With Maximum Score/Solution.py new file mode 100644 index 0000000000000..34f53be80db22 --- /dev/null +++ b/solution/3200-3299/3276.Select Cells in Grid With Maximum Score/Solution.py @@ -0,0 +1,17 @@ +class Solution: + def maxScore(self, grid: List[List[int]]) -> int: + g = defaultdict(set) + mx = 0 + for i, row in enumerate(grid): + for x in row: + g[x].add(i) + mx = max(mx, x) + m = len(grid) + f = [[0] * (1 << m) for _ in range(mx + 1)] + for i in range(1, mx + 1): + for j in range(1 << m): + f[i][j] = f[i - 1][j] + for k in g[i]: + if j >> k & 1: + f[i][j] = max(f[i][j], f[i - 1][j ^ 1 << k] + i) + return f[-1][-1] diff --git a/solution/3200-3299/3276.Select Cells in Grid With Maximum Score/Solution.ts b/solution/3200-3299/3276.Select Cells in Grid With Maximum Score/Solution.ts new file mode 100644 index 0000000000000..d8da343491662 --- /dev/null +++ b/solution/3200-3299/3276.Select Cells in Grid With Maximum Score/Solution.ts @@ -0,0 +1,23 @@ +function maxScore(grid: number[][]): number { + const m = grid.length; + let mx = 0; + const g: boolean[][] = Array.from({ length: 101 }, () => Array(m + 1).fill(false)); + for (let i = 0; i < m; ++i) { + for (const x of grid[i]) { + g[x][i] = true; + mx = Math.max(mx, x); + } + } + const f: number[][] = Array.from({ length: mx + 1 }, () => Array(1 << m).fill(0)); + for (let i = 1; i <= mx; ++i) { + for (let j = 0; j < 1 << m; ++j) { + f[i][j] = f[i - 1][j]; + for (let k = 0; k < m; ++k) { + if (g[i][k] && ((j >> k) & 1) === 1) { + f[i][j] = Math.max(f[i][j], f[i - 1][j ^ (1 << k)] + i); + } + } + } + } + return f[mx][(1 << m) - 1]; +} diff --git a/solution/3200-3299/3276.Select Cells in Grid With Maximum Score/images/grid1drawio.png b/solution/3200-3299/3276.Select Cells in Grid With Maximum Score/images/grid1drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..59c3d8a10215e00913701192646426f66be45aa6 GIT binary patch literal 11549 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 literal 0 HcmV?d00001 diff --git a/solution/3200-3299/3277.Maximum XOR Score Subarray Queries/README.md b/solution/3200-3299/3277.Maximum XOR Score Subarray Queries/README.md new file mode 100644 index 0000000000000..73ac2999517bf --- /dev/null +++ b/solution/3200-3299/3277.Maximum XOR Score Subarray Queries/README.md @@ -0,0 +1,264 @@ +--- +comments: true +difficulty: 困难 +edit_url: https://github.com/doocs/leetcode/edit/main/solution/3200-3299/3277.Maximum%20XOR%20Score%20Subarray%20Queries/README.md +--- + + + +# [3277. 查询子数组最大异或值](https://leetcode.cn/problems/maximum-xor-score-subarray-queries) + +[English Version](/solution/3200-3299/3277.Maximum%20XOR%20Score%20Subarray%20Queries/README_EN.md) + +## 题目描述 + + + +

      给你一个由 n 个整数组成的数组 nums,以及一个大小为 q 的二维整数数组 queries,其中 queries[i] = [li, ri]

      + +

      对于每一个查询,你需要找出 nums[li..ri] 中任意 子数组最大异或值

      + +

      数组的异或值 需要对数组 a 反复执行以下操作,直到只剩一个元素,剩下的那个元素就是 异或值

      + +
        +
      • 对于除最后一个下标以外的所有下标 i,同时将 a[i] 替换为 a[i] XOR a[i + 1]
      • +
      • 移除数组的最后一个元素。
      • +
      + +

      返回一个大小为 q 的数组 answer,其中 answer[i] 表示查询 i 的答案。

      + +

       

      + +

      示例 1:

      + +
      +

      输入: nums = [2,8,4,32,16,1], queries = [[0,2],[1,4],[0,5]]

      + +

      输出: [12,60,60]

      + +

      解释:

      + +

      在第一个查询中,nums[0..2] 的子数组分别是 [2], [8], [4], [2, 8], [8, 4], 和 [2, 8, 4],它们的异或值分别为 2, 8, 4, 10, 12, 和 6。查询的答案是 12,所有异或值中的最大值。

      + +

      在第二个查询中,nums[1..4] 的子数组中最大的异或值是子数组 nums[1..4] 的异或值,为 60。

      + +

      在第三个查询中,nums[0..5] 的子数组中最大的异或值是子数组 nums[1..4] 的异或值,为 60。

      +
      + +

      示例 2:

      + +
      +

      输入: nums = [0,7,3,2,8,5,1], queries = [[0,3],[1,5],[2,4],[2,6],[5,6]]

      + +

      输出: [7,14,11,14,5]

      + +

      解释:

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      下标nums[li..ri]最大异或值子数组子数组最大异或值
      0[0, 7, 3, 2][7]7
      1[7, 3, 2, 8, 5][7, 3, 2, 8]14
      2[3, 2, 8][3, 2, 8]11
      3[3, 2, 8, 5, 1][2, 8, 5, 1]14
      4[5, 1][5]5
      +
      + +

       

      + +

      提示:

      + +
        +
      • 1 <= n == nums.length <= 2000
      • +
      • 0 <= nums[i] <= 231 - 1
      • +
      • 1 <= q == queries.length <= 105
      • +
      • queries[i].length == 2
      • +
      • queries[i] = [li, ri]
      • +
      • 0 <= li <= ri <= n - 1
      • +
      + + + +## 解法 + + + +### 方法一:动态规划 + +我们定义 $f[i][j]$ 表示 $\textit{nums}[i..j]$ 的异或值,那么根据题目描述,我们可以得到状态转移方程: + +$$ +f[i][j] = f[i][j-1] \oplus f[i+1][j] +$$ + +其中 $\oplus$ 表示异或运算。 + +我们再定义 $g[i][j]$ 表示 $f[i][j]$ 的最大值,那么状态转移方程为: + +$$ +g[i][j] = \max(f[i][j], g[i][j-1], g[i+1][j]) +$$ + +最后,我们遍历查询数组,对于每个查询 $[l, r]$,将 $g[l][r]$ 加入答案数组即可。 + +时间复杂度 $O(n^2 + m)$,空间复杂度 $O(n^2)$。其中 $n$ 和 $m$ 分别为数组 $\textit{nums}$ 和 $\textit{queries}$ 的长度。 + + + +#### Python3 + +```python +class Solution: + def maximumSubarrayXor( + self, nums: List[int], queries: List[List[int]] + ) -> List[int]: + n = len(nums) + f = [[0] * n for _ in range(n)] + g = [[0] * n for _ in range(n)] + for i in range(n - 1, -1, -1): + f[i][i] = g[i][i] = nums[i] + for j in range(i + 1, n): + f[i][j] = f[i][j - 1] ^ f[i + 1][j] + g[i][j] = max(f[i][j], g[i][j - 1], g[i + 1][j]) + return [g[l][r] for l, r in queries] +``` + +#### Java + +```java +class Solution { + public int[] maximumSubarrayXor(int[] nums, int[][] queries) { + int n = nums.length; + int[][] f = new int[n][n]; + int[][] g = new int[n][n]; + for (int i = n - 1; i >= 0; --i) { + f[i][i] = nums[i]; + g[i][i] = nums[i]; + for (int j = i + 1; j < n; ++j) { + f[i][j] = f[i][j - 1] ^ f[i + 1][j]; + g[i][j] = Math.max(f[i][j], Math.max(g[i][j - 1], g[i + 1][j])); + } + } + int m = queries.length; + int[] ans = new int[m]; + for (int i = 0; i < m; ++i) { + int l = queries[i][0], r = queries[i][1]; + ans[i] = g[l][r]; + } + return ans; + } +} +``` + +#### C++ + +```cpp +class Solution { +public: + vector maximumSubarrayXor(vector& nums, vector>& queries) { + int n = nums.size(); + vector> f(n, vector(n)); + vector> g(n, vector(n)); + for (int i = n - 1; i >= 0; --i) { + f[i][i] = nums[i]; + g[i][i] = nums[i]; + for (int j = i + 1; j < n; ++j) { + f[i][j] = f[i][j - 1] ^ f[i + 1][j]; + g[i][j] = max({f[i][j], g[i][j - 1], g[i + 1][j]}); + } + } + vector ans; + for (const auto& q : queries) { + int l = q[0], r = q[1]; + ans.push_back(g[l][r]); + } + return ans; + } +}; +``` + +#### Go + +```go +func maximumSubarrayXor(nums []int, queries [][]int) (ans []int) { + n := len(nums) + f := make([][]int, n) + g := make([][]int, n) + for i := 0; i < n; i++ { + f[i] = make([]int, n) + g[i] = make([]int, n) + } + for i := n - 1; i >= 0; i-- { + f[i][i] = nums[i] + g[i][i] = nums[i] + for j := i + 1; j < n; j++ { + f[i][j] = f[i][j-1] ^ f[i+1][j] + g[i][j] = max(f[i][j], max(g[i][j-1], g[i+1][j])) + } + } + for _, q := range queries { + l, r := q[0], q[1] + ans = append(ans, g[l][r]) + } + return +} +``` + +#### TypeScript + +```ts +function maximumSubarrayXor(nums: number[], queries: number[][]): number[] { + const n = nums.length; + const f: number[][] = Array.from({ length: n }, () => Array(n).fill(0)); + const g: number[][] = Array.from({ length: n }, () => Array(n).fill(0)); + for (let i = n - 1; i >= 0; i--) { + f[i][i] = nums[i]; + g[i][i] = nums[i]; + for (let j = i + 1; j < n; j++) { + f[i][j] = f[i][j - 1] ^ f[i + 1][j]; + g[i][j] = Math.max(f[i][j], Math.max(g[i][j - 1], g[i + 1][j])); + } + } + return queries.map(([l, r]) => g[l][r]); +} +``` + + + + + + diff --git a/solution/3200-3299/3277.Maximum XOR Score Subarray Queries/README_EN.md b/solution/3200-3299/3277.Maximum XOR Score Subarray Queries/README_EN.md new file mode 100644 index 0000000000000..c9845aee92c6a --- /dev/null +++ b/solution/3200-3299/3277.Maximum XOR Score Subarray Queries/README_EN.md @@ -0,0 +1,262 @@ +--- +comments: true +difficulty: Hard +edit_url: https://github.com/doocs/leetcode/edit/main/solution/3200-3299/3277.Maximum%20XOR%20Score%20Subarray%20Queries/README_EN.md +--- + + + +# [3277. Maximum XOR Score Subarray Queries](https://leetcode.com/problems/maximum-xor-score-subarray-queries) + +[中文文档](/solution/3200-3299/3277.Maximum%20XOR%20Score%20Subarray%20Queries/README.md) + +## Description + + + +

      You are given an array nums of n integers, and a 2D integer array queries of size q, where queries[i] = [li, ri].

      + +

      For each query, you must find the maximum XOR score of any subarray of nums[li..ri].

      + +

      The XOR score of an array a is found by repeatedly applying the following operations on a so that only one element remains, that is the score:

      + +
        +
      • Simultaneously replace a[i] with a[i] XOR a[i + 1] for all indices i except the last one.
      • +
      • Remove the last element of a.
      • +
      + +

      Return an array answer of size q where answer[i] is the answer to query i.

      + +

       

      +

      Example 1:

      + +
      +

      Input: nums = [2,8,4,32,16,1], queries = [[0,2],[1,4],[0,5]]

      + +

      Output: [12,60,60]

      + +

      Explanation:

      + +

      In the first query, nums[0..2] has 6 subarrays [2], [8], [4], [2, 8], [8, 4], and [2, 8, 4] each with a respective XOR score of 2, 8, 4, 10, 12, and 6. The answer for the query is 12, the largest of all XOR scores.

      + +

      In the second query, the subarray of nums[1..4] with the largest XOR score is nums[1..4] with a score of 60.

      + +

      In the third query, the subarray of nums[0..5] with the largest XOR score is nums[1..4] with a score of 60.

      +
      + +

      Example 2:

      + +
      +

      Input: nums = [0,7,3,2,8,5,1], queries = [[0,3],[1,5],[2,4],[2,6],[5,6]]

      + +

      Output: [7,14,11,14,5]

      + +

      Explanation:

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Indexnums[li..ri]Maximum XOR Score SubarrayMaximum Subarray XOR Score
      0[0, 7, 3, 2][7]7
      1[7, 3, 2, 8, 5][7, 3, 2, 8]14
      2[3, 2, 8][3, 2, 8]11
      3[3, 2, 8, 5, 1][2, 8, 5, 1]14
      4[5, 1][5]5
      +
      + +

       

      +

      Constraints:

      + +
        +
      • 1 <= n == nums.length <= 2000
      • +
      • 0 <= nums[i] <= 231 - 1
      • +
      • 1 <= q == queries.length <= 105
      • +
      • queries[i].length == 2
      • +
      • queries[i] = [li, ri]
      • +
      • 0 <= li <= ri <= n - 1
      • +
      + + + +## Solutions + + + +### Solution 1: Dynamic Programming + +We define $f[i][j]$ to represent the XOR value of $\textit{nums}[i..j]$. According to the problem description, we can derive the state transition equation: + +$$ +f[i][j] = f[i][j-1] \oplus f[i+1][j] +$$ + +where $\oplus$ denotes the XOR operation. + +We further define $g[i][j]$ to represent the maximum value of $f[i][j]$. The state transition equation is: + +$$ +g[i][j] = \max(f[i][j], g[i][j-1], g[i+1][j]) +$$ + +Finally, we traverse the query array. For each query $[l, r]$, we add $g[l][r]$ to the answer array. + +The time complexity is $O(n^2 + m)$, and the space complexity is $O(n^2)$. Here, $n$ and $m$ are the lengths of the arrays $\textit{nums}$ and $\textit{queries}$, respectively. + + + +#### Python3 + +```python +class Solution: + def maximumSubarrayXor( + self, nums: List[int], queries: List[List[int]] + ) -> List[int]: + n = len(nums) + f = [[0] * n for _ in range(n)] + g = [[0] * n for _ in range(n)] + for i in range(n - 1, -1, -1): + f[i][i] = g[i][i] = nums[i] + for j in range(i + 1, n): + f[i][j] = f[i][j - 1] ^ f[i + 1][j] + g[i][j] = max(f[i][j], g[i][j - 1], g[i + 1][j]) + return [g[l][r] for l, r in queries] +``` + +#### Java + +```java +class Solution { + public int[] maximumSubarrayXor(int[] nums, int[][] queries) { + int n = nums.length; + int[][] f = new int[n][n]; + int[][] g = new int[n][n]; + for (int i = n - 1; i >= 0; --i) { + f[i][i] = nums[i]; + g[i][i] = nums[i]; + for (int j = i + 1; j < n; ++j) { + f[i][j] = f[i][j - 1] ^ f[i + 1][j]; + g[i][j] = Math.max(f[i][j], Math.max(g[i][j - 1], g[i + 1][j])); + } + } + int m = queries.length; + int[] ans = new int[m]; + for (int i = 0; i < m; ++i) { + int l = queries[i][0], r = queries[i][1]; + ans[i] = g[l][r]; + } + return ans; + } +} +``` + +#### C++ + +```cpp +class Solution { +public: + vector maximumSubarrayXor(vector& nums, vector>& queries) { + int n = nums.size(); + vector> f(n, vector(n)); + vector> g(n, vector(n)); + for (int i = n - 1; i >= 0; --i) { + f[i][i] = nums[i]; + g[i][i] = nums[i]; + for (int j = i + 1; j < n; ++j) { + f[i][j] = f[i][j - 1] ^ f[i + 1][j]; + g[i][j] = max({f[i][j], g[i][j - 1], g[i + 1][j]}); + } + } + vector ans; + for (const auto& q : queries) { + int l = q[0], r = q[1]; + ans.push_back(g[l][r]); + } + return ans; + } +}; +``` + +#### Go + +```go +func maximumSubarrayXor(nums []int, queries [][]int) (ans []int) { + n := len(nums) + f := make([][]int, n) + g := make([][]int, n) + for i := 0; i < n; i++ { + f[i] = make([]int, n) + g[i] = make([]int, n) + } + for i := n - 1; i >= 0; i-- { + f[i][i] = nums[i] + g[i][i] = nums[i] + for j := i + 1; j < n; j++ { + f[i][j] = f[i][j-1] ^ f[i+1][j] + g[i][j] = max(f[i][j], max(g[i][j-1], g[i+1][j])) + } + } + for _, q := range queries { + l, r := q[0], q[1] + ans = append(ans, g[l][r]) + } + return +} +``` + +#### TypeScript + +```ts +function maximumSubarrayXor(nums: number[], queries: number[][]): number[] { + const n = nums.length; + const f: number[][] = Array.from({ length: n }, () => Array(n).fill(0)); + const g: number[][] = Array.from({ length: n }, () => Array(n).fill(0)); + for (let i = n - 1; i >= 0; i--) { + f[i][i] = nums[i]; + g[i][i] = nums[i]; + for (let j = i + 1; j < n; j++) { + f[i][j] = f[i][j - 1] ^ f[i + 1][j]; + g[i][j] = Math.max(f[i][j], Math.max(g[i][j - 1], g[i + 1][j])); + } + } + return queries.map(([l, r]) => g[l][r]); +} +``` + + + + + + diff --git a/solution/3200-3299/3277.Maximum XOR Score Subarray Queries/Solution.cpp b/solution/3200-3299/3277.Maximum XOR Score Subarray Queries/Solution.cpp new file mode 100644 index 0000000000000..31b2b831f5271 --- /dev/null +++ b/solution/3200-3299/3277.Maximum XOR Score Subarray Queries/Solution.cpp @@ -0,0 +1,22 @@ +class Solution { +public: + vector maximumSubarrayXor(vector& nums, vector>& queries) { + int n = nums.size(); + vector> f(n, vector(n)); + vector> g(n, vector(n)); + for (int i = n - 1; i >= 0; --i) { + f[i][i] = nums[i]; + g[i][i] = nums[i]; + for (int j = i + 1; j < n; ++j) { + f[i][j] = f[i][j - 1] ^ f[i + 1][j]; + g[i][j] = max({f[i][j], g[i][j - 1], g[i + 1][j]}); + } + } + vector ans; + for (const auto& q : queries) { + int l = q[0], r = q[1]; + ans.push_back(g[l][r]); + } + return ans; + } +}; diff --git a/solution/3200-3299/3277.Maximum XOR Score Subarray Queries/Solution.go b/solution/3200-3299/3277.Maximum XOR Score Subarray Queries/Solution.go new file mode 100644 index 0000000000000..cf46ae36277f4 --- /dev/null +++ b/solution/3200-3299/3277.Maximum XOR Score Subarray Queries/Solution.go @@ -0,0 +1,22 @@ +func maximumSubarrayXor(nums []int, queries [][]int) (ans []int) { + n := len(nums) + f := make([][]int, n) + g := make([][]int, n) + for i := 0; i < n; i++ { + f[i] = make([]int, n) + g[i] = make([]int, n) + } + for i := n - 1; i >= 0; i-- { + f[i][i] = nums[i] + g[i][i] = nums[i] + for j := i + 1; j < n; j++ { + f[i][j] = f[i][j-1] ^ f[i+1][j] + g[i][j] = max(f[i][j], max(g[i][j-1], g[i+1][j])) + } + } + for _, q := range queries { + l, r := q[0], q[1] + ans = append(ans, g[l][r]) + } + return +} diff --git a/solution/3200-3299/3277.Maximum XOR Score Subarray Queries/Solution.java b/solution/3200-3299/3277.Maximum XOR Score Subarray Queries/Solution.java new file mode 100644 index 0000000000000..df4f920a51bfa --- /dev/null +++ b/solution/3200-3299/3277.Maximum XOR Score Subarray Queries/Solution.java @@ -0,0 +1,22 @@ +class Solution { + public int[] maximumSubarrayXor(int[] nums, int[][] queries) { + int n = nums.length; + int[][] f = new int[n][n]; + int[][] g = new int[n][n]; + for (int i = n - 1; i >= 0; --i) { + f[i][i] = nums[i]; + g[i][i] = nums[i]; + for (int j = i + 1; j < n; ++j) { + f[i][j] = f[i][j - 1] ^ f[i + 1][j]; + g[i][j] = Math.max(f[i][j], Math.max(g[i][j - 1], g[i + 1][j])); + } + } + int m = queries.length; + int[] ans = new int[m]; + for (int i = 0; i < m; ++i) { + int l = queries[i][0], r = queries[i][1]; + ans[i] = g[l][r]; + } + return ans; + } +} diff --git a/solution/3200-3299/3277.Maximum XOR Score Subarray Queries/Solution.py b/solution/3200-3299/3277.Maximum XOR Score Subarray Queries/Solution.py new file mode 100644 index 0000000000000..6dc0384373762 --- /dev/null +++ b/solution/3200-3299/3277.Maximum XOR Score Subarray Queries/Solution.py @@ -0,0 +1,13 @@ +class Solution: + def maximumSubarrayXor( + self, nums: List[int], queries: List[List[int]] + ) -> List[int]: + n = len(nums) + f = [[0] * n for _ in range(n)] + g = [[0] * n for _ in range(n)] + for i in range(n - 1, -1, -1): + f[i][i] = g[i][i] = nums[i] + for j in range(i + 1, n): + f[i][j] = f[i][j - 1] ^ f[i + 1][j] + g[i][j] = max(f[i][j], g[i][j - 1], g[i + 1][j]) + return [g[l][r] for l, r in queries] diff --git a/solution/3200-3299/3277.Maximum XOR Score Subarray Queries/Solution.ts b/solution/3200-3299/3277.Maximum XOR Score Subarray Queries/Solution.ts new file mode 100644 index 0000000000000..f6cc20efd5824 --- /dev/null +++ b/solution/3200-3299/3277.Maximum XOR Score Subarray Queries/Solution.ts @@ -0,0 +1,14 @@ +function maximumSubarrayXor(nums: number[], queries: number[][]): number[] { + const n = nums.length; + const f: number[][] = Array.from({ length: n }, () => Array(n).fill(0)); + const g: number[][] = Array.from({ length: n }, () => Array(n).fill(0)); + for (let i = n - 1; i >= 0; i--) { + f[i][i] = nums[i]; + g[i][i] = nums[i]; + for (let j = i + 1; j < n; j++) { + f[i][j] = f[i][j - 1] ^ f[i + 1][j]; + g[i][j] = Math.max(f[i][j], Math.max(g[i][j - 1], g[i + 1][j])); + } + } + return queries.map(([l, r]) => g[l][r]); +} diff --git a/solution/CONTEST_README.md b/solution/CONTEST_README.md index c646af7f8ea0d..fc3f50c4c9de6 100644 --- a/solution/CONTEST_README.md +++ b/solution/CONTEST_README.md @@ -26,6 +26,20 @@ comments: true ## 往期竞赛 +#### 第 413 场周赛(2024-09-01 10:30, 90 分钟) 参赛人数 2875 + +- [3274. 检查棋盘方格颜色是否相同](/solution/3200-3299/3274.Check%20if%20Two%20Chessboard%20Squares%20Have%20the%20Same%20Color/README.md) +- [3275. 第 K 近障碍物查询](/solution/3200-3299/3275.K-th%20Nearest%20Obstacle%20Queries/README.md) +- [3276. 选择矩阵中单元格的最大得分](/solution/3200-3299/3276.Select%20Cells%20in%20Grid%20With%20Maximum%20Score/README.md) +- [3277. 查询子数组最大异或值](/solution/3200-3299/3277.Maximum%20XOR%20Score%20Subarray%20Queries/README.md) + +#### 第 138 场双周赛(2024-08-31 22:30, 90 分钟) 参赛人数 2029 + +- [3270. 求出数字答案](/solution/3200-3299/3270.Find%20the%20Key%20of%20the%20Numbers/README.md) +- [3271. 哈希分割字符串](/solution/3200-3299/3271.Hash%20Divided%20String/README.md) +- [3272. 统计好整数的数目](/solution/3200-3299/3272.Find%20the%20Count%20of%20Good%20Integers/README.md) +- [3273. 对 Bob 造成的最少伤害](/solution/3200-3299/3273.Minimum%20Amount%20of%20Damage%20Dealt%20to%20Bob/README.md) + #### 第 412 场周赛(2024-08-25 10:30, 90 分钟) 参赛人数 2681 - [3264. K 次乘运算后的最终数组 I](/solution/3200-3299/3264.Final%20Array%20State%20After%20K%20Multiplication%20Operations%20I/README.md) @@ -47,7 +61,7 @@ comments: true - [3256. 放三个车的价值之和最大 I](/solution/3200-3299/3256.Maximum%20Value%20Sum%20by%20Placing%20Three%20Rooks%20I/README.md) - [3257. 放三个车的价值之和最大 II](/solution/3200-3299/3257.Maximum%20Value%20Sum%20by%20Placing%20Three%20Rooks%20II/README.md) -#### 第 410 场周赛(2024-08-11 10:30, 90 分钟) 参赛人数 2987 +#### 第 410 场周赛(2024-08-11 10:30, 90 分钟) 参赛人数 2988 - [3248. 矩阵中的蛇](/solution/3200-3299/3248.Snake%20in%20Matrix/README.md) - [3249. 统计好节点的数目](/solution/3200-3299/3249.Count%20the%20Number%20of%20Good%20Nodes/README.md) @@ -177,7 +191,7 @@ comments: true - [3151. 特殊数组 I](/solution/3100-3199/3151.Special%20Array%20I/README.md) - [3152. 特殊数组 II](/solution/3100-3199/3152.Special%20Array%20II/README.md) -- [3153. 所有数对中数位不同之和](/solution/3100-3199/3153.Sum%20of%20Digit%20Differences%20of%20All%20Pairs/README.md) +- [3153. 所有数对中数位差之和](/solution/3100-3199/3153.Sum%20of%20Digit%20Differences%20of%20All%20Pairs/README.md) - [3154. 到达第 K 级台阶的方案数](/solution/3100-3199/3154.Find%20Number%20of%20Ways%20to%20Reach%20the%20K-th%20Stair/README.md) #### 第 397 场周赛(2024-05-12 10:30, 90 分钟) 参赛人数 3365 @@ -1148,7 +1162,7 @@ comments: true #### 第 305 场周赛(2022-08-07 10:30, 90 分钟) 参赛人数 7465 -- [2367. 算术三元组的数目](/solution/2300-2399/2367.Number%20of%20Arithmetic%20Triplets/README.md) +- [2367. 等差三元组的数目](/solution/2300-2399/2367.Number%20of%20Arithmetic%20Triplets/README.md) - [2368. 受限条件下可到达节点的数目](/solution/2300-2399/2368.Reachable%20Nodes%20With%20Restrictions/README.md) - [2369. 检查数组是否存在有效划分](/solution/2300-2399/2369.Check%20if%20There%20is%20a%20Valid%20Partition%20For%20The%20Array/README.md) - [2370. 最长理想子序列](/solution/2300-2399/2370.Longest%20Ideal%20Subsequence/README.md) diff --git a/solution/CONTEST_README_EN.md b/solution/CONTEST_README_EN.md index 4e36752c5d773..306c0e94bc9b7 100644 --- a/solution/CONTEST_README_EN.md +++ b/solution/CONTEST_README_EN.md @@ -29,6 +29,20 @@ If you want to estimate your score changes after the contest ends, you can visit ## Past Contests +#### Weekly Contest 413 + +- [3274. Check if Two Chessboard Squares Have the Same Color](/solution/3200-3299/3274.Check%20if%20Two%20Chessboard%20Squares%20Have%20the%20Same%20Color/README_EN.md) +- [3275. K-th Nearest Obstacle Queries](/solution/3200-3299/3275.K-th%20Nearest%20Obstacle%20Queries/README_EN.md) +- [3276. Select Cells in Grid With Maximum Score](/solution/3200-3299/3276.Select%20Cells%20in%20Grid%20With%20Maximum%20Score/README_EN.md) +- [3277. Maximum XOR Score Subarray Queries](/solution/3200-3299/3277.Maximum%20XOR%20Score%20Subarray%20Queries/README_EN.md) + +#### Biweekly Contest 138 + +- [3270. Find the Key of the Numbers](/solution/3200-3299/3270.Find%20the%20Key%20of%20the%20Numbers/README_EN.md) +- [3271. Hash Divided String](/solution/3200-3299/3271.Hash%20Divided%20String/README_EN.md) +- [3272. Find the Count of Good Integers](/solution/3200-3299/3272.Find%20the%20Count%20of%20Good%20Integers/README_EN.md) +- [3273. Minimum Amount of Damage Dealt to Bob](/solution/3200-3299/3273.Minimum%20Amount%20of%20Damage%20Dealt%20to%20Bob/README_EN.md) + #### Weekly Contest 412 - [3264. Final Array State After K Multiplication Operations I](/solution/3200-3299/3264.Final%20Array%20State%20After%20K%20Multiplication%20Operations%20I/README_EN.md) diff --git a/solution/README.md b/solution/README.md index 0dcb14d29365b..3421514747c21 100644 --- a/solution/README.md +++ b/solution/README.md @@ -1305,7 +1305,7 @@ | 1292 | [元素和小于等于阈值的正方形的最大边长](/solution/1200-1299/1292.Maximum%20Side%20Length%20of%20a%20Square%20with%20Sum%20Less%20than%20or%20Equal%20to%20Threshold/README.md) | `数组`,`二分查找`,`矩阵`,`前缀和` | 中等 | 第 167 场周赛 | | 1293 | [网格中的最短路径](/solution/1200-1299/1293.Shortest%20Path%20in%20a%20Grid%20with%20Obstacles%20Elimination/README.md) | `广度优先搜索`,`数组`,`矩阵` | 困难 | 第 167 场周赛 | | 1294 | [不同国家的天气类型](/solution/1200-1299/1294.Weather%20Type%20in%20Each%20Country/README.md) | `数据库` | 简单 | 🔒 | -| 1295 | [统计位数为偶数的数字](/solution/1200-1299/1295.Find%20Numbers%20with%20Even%20Number%20of%20Digits/README.md) | `数组` | 简单 | 第 168 场周赛 | +| 1295 | [统计位数为偶数的数字](/solution/1200-1299/1295.Find%20Numbers%20with%20Even%20Number%20of%20Digits/README.md) | `数组`,`数学` | 简单 | 第 168 场周赛 | | 1296 | [划分数组为连续数字的集合](/solution/1200-1299/1296.Divide%20Array%20in%20Sets%20of%20K%20Consecutive%20Numbers/README.md) | `贪心`,`数组`,`哈希表`,`排序` | 中等 | 第 168 场周赛 | | 1297 | [子串的最大出现次数](/solution/1200-1299/1297.Maximum%20Number%20of%20Occurrences%20of%20a%20Substring/README.md) | `哈希表`,`字符串`,`滑动窗口` | 中等 | 第 168 场周赛 | | 1298 | [你能从盒子里获得的最大糖果数](/solution/1200-1299/1298.Maximum%20Candies%20You%20Can%20Get%20from%20Boxes/README.md) | `广度优先搜索`,`图`,`数组` | 困难 | 第 168 场周赛 | @@ -2047,7 +2047,7 @@ | 2034 | [股票价格波动](/solution/2000-2099/2034.Stock%20Price%20Fluctuation/README.md) | `设计`,`哈希表`,`数据流`,`有序集合`,`堆(优先队列)` | 中等 | 第 262 场周赛 | | 2035 | [将数组分成两个数组并最小化数组和的差](/solution/2000-2099/2035.Partition%20Array%20Into%20Two%20Arrays%20to%20Minimize%20Sum%20Difference/README.md) | `位运算`,`数组`,`双指针`,`二分查找`,`动态规划`,`状态压缩`,`有序集合` | 困难 | 第 262 场周赛 | | 2036 | [最大交替子数组和](/solution/2000-2099/2036.Maximum%20Alternating%20Subarray%20Sum/README.md) | `数组`,`动态规划` | 中等 | 🔒 | -| 2037 | [使每位学生都有座位的最少移动次数](/solution/2000-2099/2037.Minimum%20Number%20of%20Moves%20to%20Seat%20Everyone/README.md) | `贪心`,`数组`,`排序` | 简单 | 第 63 场双周赛 | +| 2037 | [使每位学生都有座位的最少移动次数](/solution/2000-2099/2037.Minimum%20Number%20of%20Moves%20to%20Seat%20Everyone/README.md) | `贪心`,`数组`,`计数排序`,`排序` | 简单 | 第 63 场双周赛 | | 2038 | [如果相邻两个颜色均相同则删除当前颜色](/solution/2000-2099/2038.Remove%20Colored%20Pieces%20if%20Both%20Neighbors%20are%20the%20Same%20Color/README.md) | `贪心`,`数学`,`字符串`,`博弈` | 中等 | 第 63 场双周赛 | | 2039 | [网络空闲的时刻](/solution/2000-2099/2039.The%20Time%20When%20the%20Network%20Becomes%20Idle/README.md) | `广度优先搜索`,`图`,`数组` | 中等 | 第 63 场双周赛 | | 2040 | [两个有序数组的第 K 小乘积](/solution/2000-2099/2040.Kth%20Smallest%20Product%20of%20Two%20Sorted%20Arrays/README.md) | `数组`,`二分查找` | 困难 | 第 63 场双周赛 | @@ -2377,7 +2377,7 @@ | 2364 | [统计坏数对的数目](/solution/2300-2399/2364.Count%20Number%20of%20Bad%20Pairs/README.md) | `数组`,`哈希表`,`数学`,`计数` | 中等 | 第 84 场双周赛 | | 2365 | [任务调度器 II](/solution/2300-2399/2365.Task%20Scheduler%20II/README.md) | `数组`,`哈希表`,`模拟` | 中等 | 第 84 场双周赛 | | 2366 | [将数组排序的最少替换次数](/solution/2300-2399/2366.Minimum%20Replacements%20to%20Sort%20the%20Array/README.md) | `贪心`,`数组`,`数学` | 困难 | 第 84 场双周赛 | -| 2367 | [算术三元组的数目](/solution/2300-2399/2367.Number%20of%20Arithmetic%20Triplets/README.md) | `数组`,`哈希表`,`双指针`,`枚举` | 简单 | 第 305 场周赛 | +| 2367 | [等差三元组的数目](/solution/2300-2399/2367.Number%20of%20Arithmetic%20Triplets/README.md) | `数组`,`哈希表`,`双指针`,`枚举` | 简单 | 第 305 场周赛 | | 2368 | [受限条件下可到达节点的数目](/solution/2300-2399/2368.Reachable%20Nodes%20With%20Restrictions/README.md) | `树`,`深度优先搜索`,`广度优先搜索`,`并查集`,`图`,`数组`,`哈希表` | 中等 | 第 305 场周赛 | | 2369 | [检查数组是否存在有效划分](/solution/2300-2399/2369.Check%20if%20There%20is%20a%20Valid%20Partition%20For%20The%20Array/README.md) | `数组`,`动态规划` | 中等 | 第 305 场周赛 | | 2370 | [最长理想子序列](/solution/2300-2399/2370.Longest%20Ideal%20Subsequence/README.md) | `哈希表`,`字符串`,`动态规划` | 中等 | 第 305 场周赛 | @@ -3163,7 +3163,7 @@ | 3150 | [无效的推文 II](/solution/3100-3199/3150.Invalid%20Tweets%20II/README.md) | `数据库` | 简单 | 🔒 | | 3151 | [特殊数组 I](/solution/3100-3199/3151.Special%20Array%20I/README.md) | `数组` | 简单 | 第 398 场周赛 | | 3152 | [特殊数组 II](/solution/3100-3199/3152.Special%20Array%20II/README.md) | `数组`,`二分查找`,`前缀和` | 中等 | 第 398 场周赛 | -| 3153 | [所有数对中数位不同之和](/solution/3100-3199/3153.Sum%20of%20Digit%20Differences%20of%20All%20Pairs/README.md) | `数组`,`哈希表`,`数学`,`计数` | 中等 | 第 398 场周赛 | +| 3153 | [所有数对中数位差之和](/solution/3100-3199/3153.Sum%20of%20Digit%20Differences%20of%20All%20Pairs/README.md) | `数组`,`哈希表`,`数学`,`计数` | 中等 | 第 398 场周赛 | | 3154 | [到达第 K 级台阶的方案数](/solution/3100-3199/3154.Find%20Number%20of%20Ways%20to%20Reach%20the%20K-th%20Stair/README.md) | `位运算`,`记忆化搜索`,`数学`,`动态规划`,`组合数学` | 困难 | 第 398 场周赛 | | 3155 | [可升级服务器的最大数量](/solution/3100-3199/3155.Maximum%20Number%20of%20Upgradable%20Servers/README.md) | `数组`,`数学`,`二分查找` | 中等 | 🔒 | | 3156 | [员工任务持续时间和并发任务](/solution/3100-3199/3156.Employee%20Task%20Duration%20and%20Concurrent%20Tasks/README.md) | `数据库` | 困难 | 🔒 | @@ -3280,6 +3280,14 @@ | 3267 | [统计近似相等数对 II](/solution/3200-3299/3267.Count%20Almost%20Equal%20Pairs%20II/README.md) | `数组`,`哈希表`,`计数`,`枚举`,`排序` | 困难 | 第 412 场周赛 | | 3268 | [查找重叠的班次 II](/solution/3200-3299/3268.Find%20Overlapping%20Shifts%20II/README.md) | `数据库` | 困难 | 🔒 | | 3269 | [Constructing Two Increasing Arrays](/solution/3200-3299/3269.Constructing%20Two%20Increasing%20Arrays/README.md) | | 困难 | 🔒 | +| 3270 | [求出数字答案](/solution/3200-3299/3270.Find%20the%20Key%20of%20the%20Numbers/README.md) | | 简单 | 第 138 场双周赛 | +| 3271 | [哈希分割字符串](/solution/3200-3299/3271.Hash%20Divided%20String/README.md) | | 中等 | 第 138 场双周赛 | +| 3272 | [统计好整数的数目](/solution/3200-3299/3272.Find%20the%20Count%20of%20Good%20Integers/README.md) | | 困难 | 第 138 场双周赛 | +| 3273 | [对 Bob 造成的最少伤害](/solution/3200-3299/3273.Minimum%20Amount%20of%20Damage%20Dealt%20to%20Bob/README.md) | | 困难 | 第 138 场双周赛 | +| 3274 | [检查棋盘方格颜色是否相同](/solution/3200-3299/3274.Check%20if%20Two%20Chessboard%20Squares%20Have%20the%20Same%20Color/README.md) | | 简单 | 第 413 场周赛 | +| 3275 | [第 K 近障碍物查询](/solution/3200-3299/3275.K-th%20Nearest%20Obstacle%20Queries/README.md) | | 中等 | 第 413 场周赛 | +| 3276 | [选择矩阵中单元格的最大得分](/solution/3200-3299/3276.Select%20Cells%20in%20Grid%20With%20Maximum%20Score/README.md) | | 困难 | 第 413 场周赛 | +| 3277 | [查询子数组最大异或值](/solution/3200-3299/3277.Maximum%20XOR%20Score%20Subarray%20Queries/README.md) | | 困难 | 第 413 场周赛 | ## 版权 diff --git a/solution/README_EN.md b/solution/README_EN.md index b3d8b65651bd7..3bc11ab59d315 100644 --- a/solution/README_EN.md +++ b/solution/README_EN.md @@ -1303,7 +1303,7 @@ Press Control + F(or Command + F on | 1292 | [Maximum Side Length of a Square with Sum Less than or Equal to Threshold](/solution/1200-1299/1292.Maximum%20Side%20Length%20of%20a%20Square%20with%20Sum%20Less%20than%20or%20Equal%20to%20Threshold/README_EN.md) | `Array`,`Binary Search`,`Matrix`,`Prefix Sum` | Medium | Weekly Contest 167 | | 1293 | [Shortest Path in a Grid with Obstacles Elimination](/solution/1200-1299/1293.Shortest%20Path%20in%20a%20Grid%20with%20Obstacles%20Elimination/README_EN.md) | `Breadth-First Search`,`Array`,`Matrix` | Hard | Weekly Contest 167 | | 1294 | [Weather Type in Each Country](/solution/1200-1299/1294.Weather%20Type%20in%20Each%20Country/README_EN.md) | `Database` | Easy | 🔒 | -| 1295 | [Find Numbers with Even Number of Digits](/solution/1200-1299/1295.Find%20Numbers%20with%20Even%20Number%20of%20Digits/README_EN.md) | `Array` | Easy | Weekly Contest 168 | +| 1295 | [Find Numbers with Even Number of Digits](/solution/1200-1299/1295.Find%20Numbers%20with%20Even%20Number%20of%20Digits/README_EN.md) | `Array`,`Math` | Easy | Weekly Contest 168 | | 1296 | [Divide Array in Sets of K Consecutive Numbers](/solution/1200-1299/1296.Divide%20Array%20in%20Sets%20of%20K%20Consecutive%20Numbers/README_EN.md) | `Greedy`,`Array`,`Hash Table`,`Sorting` | Medium | Weekly Contest 168 | | 1297 | [Maximum Number of Occurrences of a Substring](/solution/1200-1299/1297.Maximum%20Number%20of%20Occurrences%20of%20a%20Substring/README_EN.md) | `Hash Table`,`String`,`Sliding Window` | Medium | Weekly Contest 168 | | 1298 | [Maximum Candies You Can Get from Boxes](/solution/1200-1299/1298.Maximum%20Candies%20You%20Can%20Get%20from%20Boxes/README_EN.md) | `Breadth-First Search`,`Graph`,`Array` | Hard | Weekly Contest 168 | @@ -2045,7 +2045,7 @@ Press Control + F(or Command + F on | 2034 | [Stock Price Fluctuation](/solution/2000-2099/2034.Stock%20Price%20Fluctuation/README_EN.md) | `Design`,`Hash Table`,`Data Stream`,`Ordered Set`,`Heap (Priority Queue)` | Medium | Weekly Contest 262 | | 2035 | [Partition Array Into Two Arrays to Minimize Sum Difference](/solution/2000-2099/2035.Partition%20Array%20Into%20Two%20Arrays%20to%20Minimize%20Sum%20Difference/README_EN.md) | `Bit Manipulation`,`Array`,`Two Pointers`,`Binary Search`,`Dynamic Programming`,`Bitmask`,`Ordered Set` | Hard | Weekly Contest 262 | | 2036 | [Maximum Alternating Subarray Sum](/solution/2000-2099/2036.Maximum%20Alternating%20Subarray%20Sum/README_EN.md) | `Array`,`Dynamic Programming` | Medium | 🔒 | -| 2037 | [Minimum Number of Moves to Seat Everyone](/solution/2000-2099/2037.Minimum%20Number%20of%20Moves%20to%20Seat%20Everyone/README_EN.md) | `Greedy`,`Array`,`Sorting` | Easy | Biweekly Contest 63 | +| 2037 | [Minimum Number of Moves to Seat Everyone](/solution/2000-2099/2037.Minimum%20Number%20of%20Moves%20to%20Seat%20Everyone/README_EN.md) | `Greedy`,`Array`,`Counting Sort`,`Sorting` | Easy | Biweekly Contest 63 | | 2038 | [Remove Colored Pieces if Both Neighbors are the Same Color](/solution/2000-2099/2038.Remove%20Colored%20Pieces%20if%20Both%20Neighbors%20are%20the%20Same%20Color/README_EN.md) | `Greedy`,`Math`,`String`,`Game Theory` | Medium | Biweekly Contest 63 | | 2039 | [The Time When the Network Becomes Idle](/solution/2000-2099/2039.The%20Time%20When%20the%20Network%20Becomes%20Idle/README_EN.md) | `Breadth-First Search`,`Graph`,`Array` | Medium | Biweekly Contest 63 | | 2040 | [Kth Smallest Product of Two Sorted Arrays](/solution/2000-2099/2040.Kth%20Smallest%20Product%20of%20Two%20Sorted%20Arrays/README_EN.md) | `Array`,`Binary Search` | Hard | Biweekly Contest 63 | @@ -3278,6 +3278,14 @@ Press Control + F(or Command + F on | 3267 | [Count Almost Equal Pairs II](/solution/3200-3299/3267.Count%20Almost%20Equal%20Pairs%20II/README_EN.md) | `Array`,`Hash Table`,`Counting`,`Enumeration`,`Sorting` | Hard | Weekly Contest 412 | | 3268 | [Find Overlapping Shifts II](/solution/3200-3299/3268.Find%20Overlapping%20Shifts%20II/README_EN.md) | `Database` | Hard | 🔒 | | 3269 | [Constructing Two Increasing Arrays](/solution/3200-3299/3269.Constructing%20Two%20Increasing%20Arrays/README_EN.md) | | Hard | 🔒 | +| 3270 | [Find the Key of the Numbers](/solution/3200-3299/3270.Find%20the%20Key%20of%20the%20Numbers/README_EN.md) | | Easy | Biweekly Contest 138 | +| 3271 | [Hash Divided String](/solution/3200-3299/3271.Hash%20Divided%20String/README_EN.md) | | Medium | Biweekly Contest 138 | +| 3272 | [Find the Count of Good Integers](/solution/3200-3299/3272.Find%20the%20Count%20of%20Good%20Integers/README_EN.md) | | Hard | Biweekly Contest 138 | +| 3273 | [Minimum Amount of Damage Dealt to Bob](/solution/3200-3299/3273.Minimum%20Amount%20of%20Damage%20Dealt%20to%20Bob/README_EN.md) | | Hard | Biweekly Contest 138 | +| 3274 | [Check if Two Chessboard Squares Have the Same Color](/solution/3200-3299/3274.Check%20if%20Two%20Chessboard%20Squares%20Have%20the%20Same%20Color/README_EN.md) | | Easy | Weekly Contest 413 | +| 3275 | [K-th Nearest Obstacle Queries](/solution/3200-3299/3275.K-th%20Nearest%20Obstacle%20Queries/README_EN.md) | | Medium | Weekly Contest 413 | +| 3276 | [Select Cells in Grid With Maximum Score](/solution/3200-3299/3276.Select%20Cells%20in%20Grid%20With%20Maximum%20Score/README_EN.md) | | Hard | Weekly Contest 413 | +| 3277 | [Maximum XOR Score Subarray Queries](/solution/3200-3299/3277.Maximum%20XOR%20Score%20Subarray%20Queries/README_EN.md) | | Hard | Weekly Contest 413 | ## Copyright diff --git a/solution/contest.json b/solution/contest.json index 90638385ae84e..61f74099d8782 100644 --- a/solution/contest.json +++ b/solution/contest.json @@ -1 +1 @@ -[{"contest_title": "\u7b2c 83 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 83", "contest_title_slug": "weekly-contest-83", "contest_id": 5, "contest_start_time": 1525570200, "contest_duration": 5400, "user_num": 58, "question_slugs": ["positions-of-large-groups", "masking-personal-information", "consecutive-numbers-sum", "count-unique-characters-of-all-substrings-of-a-given-string"]}, {"contest_title": "\u7b2c 84 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 84", "contest_title_slug": "weekly-contest-84", "contest_id": 6, "contest_start_time": 1526175000, "contest_duration": 5400, "user_num": 656, "question_slugs": ["flipping-an-image", "find-and-replace-in-string", "image-overlap", "sum-of-distances-in-tree"]}, {"contest_title": "\u7b2c 85 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 85", "contest_title_slug": "weekly-contest-85", "contest_id": 7, "contest_start_time": 1526779800, "contest_duration": 5400, "user_num": 467, "question_slugs": ["rectangle-overlap", "push-dominoes", "new-21-game", "similar-string-groups"]}, {"contest_title": "\u7b2c 86 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 86", "contest_title_slug": "weekly-contest-86", "contest_id": 8, "contest_start_time": 1527384600, "contest_duration": 5400, "user_num": 377, "question_slugs": ["magic-squares-in-grid", "keys-and-rooms", "split-array-into-fibonacci-sequence", "guess-the-word"]}, {"contest_title": "\u7b2c 87 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 87", "contest_title_slug": "weekly-contest-87", "contest_id": 9, "contest_start_time": 1527989400, "contest_duration": 5400, "user_num": 343, "question_slugs": ["backspace-string-compare", "longest-mountain-in-array", "hand-of-straights", "shortest-path-visiting-all-nodes"]}, {"contest_title": "\u7b2c 88 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 88", "contest_title_slug": "weekly-contest-88", "contest_id": 11, "contest_start_time": 1528594200, "contest_duration": 5400, "user_num": 404, "question_slugs": ["shifting-letters", "maximize-distance-to-closest-person", "loud-and-rich", "rectangle-area-ii"]}, {"contest_title": "\u7b2c 89 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 89", "contest_title_slug": "weekly-contest-89", "contest_id": 12, "contest_start_time": 1529199000, "contest_duration": 5400, "user_num": 491, "question_slugs": ["peak-index-in-a-mountain-array", "car-fleet", "exam-room", "k-similar-strings"]}, {"contest_title": "\u7b2c 90 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 90", "contest_title_slug": "weekly-contest-90", "contest_id": 13, "contest_start_time": 1529803800, "contest_duration": 5400, "user_num": 573, "question_slugs": ["buddy-strings", "score-of-parentheses", "mirror-reflection", "minimum-cost-to-hire-k-workers"]}, {"contest_title": "\u7b2c 91 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 91", "contest_title_slug": "weekly-contest-91", "contest_id": 14, "contest_start_time": 1530408600, "contest_duration": 5400, "user_num": 578, "question_slugs": ["lemonade-change", "all-nodes-distance-k-in-binary-tree", "score-after-flipping-matrix", "shortest-subarray-with-sum-at-least-k"]}, {"contest_title": "\u7b2c 92 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 92", "contest_title_slug": "weekly-contest-92", "contest_id": 15, "contest_start_time": 1531013400, "contest_duration": 5400, "user_num": 610, "question_slugs": ["transpose-matrix", "smallest-subtree-with-all-the-deepest-nodes", "prime-palindrome", "shortest-path-to-get-all-keys"]}, {"contest_title": "\u7b2c 93 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 93", "contest_title_slug": "weekly-contest-93", "contest_id": 16, "contest_start_time": 1531618200, "contest_duration": 5400, "user_num": 732, "question_slugs": ["binary-gap", "reordered-power-of-2", "advantage-shuffle", "minimum-number-of-refueling-stops"]}, {"contest_title": "\u7b2c 94 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 94", "contest_title_slug": "weekly-contest-94", "contest_id": 17, "contest_start_time": 1532223000, "contest_duration": 5400, "user_num": 733, "question_slugs": ["leaf-similar-trees", "walking-robot-simulation", "koko-eating-bananas", "length-of-longest-fibonacci-subsequence"]}, {"contest_title": "\u7b2c 95 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 95", "contest_title_slug": "weekly-contest-95", "contest_id": 18, "contest_start_time": 1532827800, "contest_duration": 5400, "user_num": 831, "question_slugs": ["middle-of-the-linked-list", "stone-game", "nth-magical-number", "profitable-schemes"]}, {"contest_title": "\u7b2c 96 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 96", "contest_title_slug": "weekly-contest-96", "contest_id": 19, "contest_start_time": 1533432600, "contest_duration": 5400, "user_num": 789, "question_slugs": ["projection-area-of-3d-shapes", "boats-to-save-people", "decoded-string-at-index", "reachable-nodes-in-subdivided-graph"]}, {"contest_title": "\u7b2c 97 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 97", "contest_title_slug": "weekly-contest-97", "contest_id": 20, "contest_start_time": 1534037400, "contest_duration": 5400, "user_num": 635, "question_slugs": ["uncommon-words-from-two-sentences", "spiral-matrix-iii", "possible-bipartition", "super-egg-drop"]}, {"contest_title": "\u7b2c 98 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 98", "contest_title_slug": "weekly-contest-98", "contest_id": 21, "contest_start_time": 1534642200, "contest_duration": 5400, "user_num": 670, "question_slugs": ["fair-candy-swap", "find-and-replace-pattern", "construct-binary-tree-from-preorder-and-postorder-traversal", "sum-of-subsequence-widths"]}, {"contest_title": "\u7b2c 99 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 99", "contest_title_slug": "weekly-contest-99", "contest_id": 22, "contest_start_time": 1535247000, "contest_duration": 5400, "user_num": 725, "question_slugs": ["surface-area-of-3d-shapes", "groups-of-special-equivalent-strings", "all-possible-full-binary-trees", "maximum-frequency-stack"]}, {"contest_title": "\u7b2c 100 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 100", "contest_title_slug": "weekly-contest-100", "contest_id": 23, "contest_start_time": 1535851800, "contest_duration": 5400, "user_num": 718, "question_slugs": ["monotonic-array", "increasing-order-search-tree", "bitwise-ors-of-subarrays", "orderly-queue"]}, {"contest_title": "\u7b2c 101 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 101", "contest_title_slug": "weekly-contest-101", "contest_id": 24, "contest_start_time": 1536456600, "contest_duration": 6300, "user_num": 854, "question_slugs": ["rle-iterator", "online-stock-span", "numbers-at-most-n-given-digit-set", "valid-permutations-for-di-sequence"]}, {"contest_title": "\u7b2c 102 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 102", "contest_title_slug": "weekly-contest-102", "contest_id": 25, "contest_start_time": 1537061400, "contest_duration": 5400, "user_num": 660, "question_slugs": ["sort-array-by-parity", "fruit-into-baskets", "sum-of-subarray-minimums", "super-palindromes"]}, {"contest_title": "\u7b2c 103 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 103", "contest_title_slug": "weekly-contest-103", "contest_id": 26, "contest_start_time": 1537666200, "contest_duration": 5400, "user_num": 575, "question_slugs": ["smallest-range-i", "snakes-and-ladders", "smallest-range-ii", "online-election"]}, {"contest_title": "\u7b2c 104 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 104", "contest_title_slug": "weekly-contest-104", "contest_id": 27, "contest_start_time": 1538271000, "contest_duration": 5400, "user_num": 354, "question_slugs": ["x-of-a-kind-in-a-deck-of-cards", "partition-array-into-disjoint-intervals", "word-subsets", "cat-and-mouse"]}, {"contest_title": "\u7b2c 105 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 105", "contest_title_slug": "weekly-contest-105", "contest_id": 28, "contest_start_time": 1538875800, "contest_duration": 5400, "user_num": 393, "question_slugs": ["reverse-only-letters", "maximum-sum-circular-subarray", "complete-binary-tree-inserter", "number-of-music-playlists"]}, {"contest_title": "\u7b2c 106 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 106", "contest_title_slug": "weekly-contest-106", "contest_id": 29, "contest_start_time": 1539480600, "contest_duration": 5400, "user_num": 369, "question_slugs": ["sort-array-by-parity-ii", "minimum-add-to-make-parentheses-valid", "3sum-with-multiplicity", "minimize-malware-spread"]}, {"contest_title": "\u7b2c 107 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 107", "contest_title_slug": "weekly-contest-107", "contest_id": 30, "contest_start_time": 1540085400, "contest_duration": 5400, "user_num": 504, "question_slugs": ["long-pressed-name", "flip-string-to-monotone-increasing", "three-equal-parts", "minimize-malware-spread-ii"]}, {"contest_title": "\u7b2c 108 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 108", "contest_title_slug": "weekly-contest-108", "contest_id": 31, "contest_start_time": 1540690200, "contest_duration": 5400, "user_num": 524, "question_slugs": ["unique-email-addresses", "binary-subarrays-with-sum", "minimum-falling-path-sum", "beautiful-array"]}, {"contest_title": "\u7b2c 109 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 109", "contest_title_slug": "weekly-contest-109", "contest_id": 32, "contest_start_time": 1541295000, "contest_duration": 5400, "user_num": 439, "question_slugs": ["number-of-recent-calls", "knight-dialer", "shortest-bridge", "stamping-the-sequence"]}, {"contest_title": "\u7b2c 110 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 110", "contest_title_slug": "weekly-contest-110", "contest_id": 33, "contest_start_time": 1541903400, "contest_duration": 5400, "user_num": 346, "question_slugs": ["reorder-data-in-log-files", "range-sum-of-bst", "minimum-area-rectangle", "distinct-subsequences-ii"]}, {"contest_title": "\u7b2c 111 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 111", "contest_title_slug": "weekly-contest-111", "contest_id": 34, "contest_start_time": 1542508200, "contest_duration": 5400, "user_num": 353, "question_slugs": ["valid-mountain-array", "delete-columns-to-make-sorted", "di-string-match", "find-the-shortest-superstring"]}, {"contest_title": "\u7b2c 112 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 112", "contest_title_slug": "weekly-contest-112", "contest_id": 35, "contest_start_time": 1543113000, "contest_duration": 5400, "user_num": 299, "question_slugs": ["minimum-increment-to-make-array-unique", "validate-stack-sequences", "most-stones-removed-with-same-row-or-column", "bag-of-tokens"]}, {"contest_title": "\u7b2c 113 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 113", "contest_title_slug": "weekly-contest-113", "contest_id": 36, "contest_start_time": 1543717800, "contest_duration": 5400, "user_num": 462, "question_slugs": ["largest-time-for-given-digits", "flip-equivalent-binary-trees", "reveal-cards-in-increasing-order", "largest-component-size-by-common-factor"]}, {"contest_title": "\u7b2c 114 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 114", "contest_title_slug": "weekly-contest-114", "contest_id": 37, "contest_start_time": 1544322600, "contest_duration": 5400, "user_num": 391, "question_slugs": ["verifying-an-alien-dictionary", "array-of-doubled-pairs", "delete-columns-to-make-sorted-ii", "tallest-billboard"]}, {"contest_title": "\u7b2c 115 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 115", "contest_title_slug": "weekly-contest-115", "contest_id": 38, "contest_start_time": 1544927400, "contest_duration": 5400, "user_num": 383, "question_slugs": ["prison-cells-after-n-days", "check-completeness-of-a-binary-tree", "regions-cut-by-slashes", "delete-columns-to-make-sorted-iii"]}, {"contest_title": "\u7b2c 116 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 116", "contest_title_slug": "weekly-contest-116", "contest_id": 39, "contest_start_time": 1545532200, "contest_duration": 5400, "user_num": 369, "question_slugs": ["n-repeated-element-in-size-2n-array", "maximum-width-ramp", "minimum-area-rectangle-ii", "least-operators-to-express-number"]}, {"contest_title": "\u7b2c 117 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 117", "contest_title_slug": "weekly-contest-117", "contest_id": 41, "contest_start_time": 1546137000, "contest_duration": 5400, "user_num": 657, "question_slugs": ["univalued-binary-tree", "numbers-with-same-consecutive-differences", "vowel-spellchecker", "binary-tree-cameras"]}, {"contest_title": "\u7b2c 118 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 118", "contest_title_slug": "weekly-contest-118", "contest_id": 42, "contest_start_time": 1546741800, "contest_duration": 5400, "user_num": 383, "question_slugs": ["powerful-integers", "pancake-sorting", "flip-binary-tree-to-match-preorder-traversal", "equal-rational-numbers"]}, {"contest_title": "\u7b2c 119 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 119", "contest_title_slug": "weekly-contest-119", "contest_id": 43, "contest_start_time": 1547346600, "contest_duration": 5400, "user_num": 513, "question_slugs": ["k-closest-points-to-origin", "largest-perimeter-triangle", "subarray-sums-divisible-by-k", "odd-even-jump"]}, {"contest_title": "\u7b2c 120 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 120", "contest_title_slug": "weekly-contest-120", "contest_id": 44, "contest_start_time": 1547951400, "contest_duration": 5400, "user_num": 382, "question_slugs": ["squares-of-a-sorted-array", "longest-turbulent-subarray", "distribute-coins-in-binary-tree", "unique-paths-iii"]}, {"contest_title": "\u7b2c 121 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 121", "contest_title_slug": "weekly-contest-121", "contest_id": 45, "contest_start_time": 1548556200, "contest_duration": 5400, "user_num": 384, "question_slugs": ["string-without-aaa-or-bbb", "time-based-key-value-store", "minimum-cost-for-tickets", "triples-with-bitwise-and-equal-to-zero"]}, {"contest_title": "\u7b2c 122 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 122", "contest_title_slug": "weekly-contest-122", "contest_id": 46, "contest_start_time": 1549161000, "contest_duration": 5400, "user_num": 280, "question_slugs": ["sum-of-even-numbers-after-queries", "smallest-string-starting-from-leaf", "interval-list-intersections", "vertical-order-traversal-of-a-binary-tree"]}, {"contest_title": "\u7b2c 123 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 123", "contest_title_slug": "weekly-contest-123", "contest_id": 47, "contest_start_time": 1549765800, "contest_duration": 5400, "user_num": 247, "question_slugs": ["add-to-array-form-of-integer", "satisfiability-of-equality-equations", "broken-calculator", "subarrays-with-k-different-integers"]}, {"contest_title": "\u7b2c 124 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 124", "contest_title_slug": "weekly-contest-124", "contest_id": 48, "contest_start_time": 1550370600, "contest_duration": 5400, "user_num": 417, "question_slugs": ["cousins-in-binary-tree", "rotting-oranges", "minimum-number-of-k-consecutive-bit-flips", "number-of-squareful-arrays"]}, {"contest_title": "\u7b2c 125 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 125", "contest_title_slug": "weekly-contest-125", "contest_id": 49, "contest_start_time": 1550975400, "contest_duration": 5400, "user_num": 469, "question_slugs": ["find-the-town-judge", "available-captures-for-rook", "maximum-binary-tree-ii", "grid-illumination"]}, {"contest_title": "\u7b2c 126 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 126", "contest_title_slug": "weekly-contest-126", "contest_id": 50, "contest_start_time": 1551580200, "contest_duration": 5400, "user_num": 591, "question_slugs": ["find-common-characters", "check-if-word-is-valid-after-substitutions", "max-consecutive-ones-iii", "minimum-cost-to-merge-stones"]}, {"contest_title": "\u7b2c 127 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 127", "contest_title_slug": "weekly-contest-127", "contest_id": 52, "contest_start_time": 1552185000, "contest_duration": 5400, "user_num": 664, "question_slugs": ["maximize-sum-of-array-after-k-negations", "clumsy-factorial", "minimum-domino-rotations-for-equal-row", "construct-binary-search-tree-from-preorder-traversal"]}, {"contest_title": "\u7b2c 128 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 128", "contest_title_slug": "weekly-contest-128", "contest_id": 53, "contest_start_time": 1552789800, "contest_duration": 5400, "user_num": 1251, "question_slugs": ["complement-of-base-10-integer", "pairs-of-songs-with-total-durations-divisible-by-60", "capacity-to-ship-packages-within-d-days", "numbers-with-repeated-digits"]}, {"contest_title": "\u7b2c 129 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 129", "contest_title_slug": "weekly-contest-129", "contest_id": 54, "contest_start_time": 1553391000, "contest_duration": 5400, "user_num": 759, "question_slugs": ["partition-array-into-three-parts-with-equal-sum", "smallest-integer-divisible-by-k", "best-sightseeing-pair", "binary-string-with-substrings-representing-1-to-n"]}, {"contest_title": "\u7b2c 130 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 130", "contest_title_slug": "weekly-contest-130", "contest_id": 55, "contest_start_time": 1553999400, "contest_duration": 5400, "user_num": 1294, "question_slugs": ["binary-prefix-divisible-by-5", "convert-to-base-2", "next-greater-node-in-linked-list", "number-of-enclaves"]}, {"contest_title": "\u7b2c 131 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 131", "contest_title_slug": "weekly-contest-131", "contest_id": 56, "contest_start_time": 1554604200, "contest_duration": 5400, "user_num": 918, "question_slugs": ["remove-outermost-parentheses", "sum-of-root-to-leaf-binary-numbers", "camelcase-matching", "video-stitching"]}, {"contest_title": "\u7b2c 132 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 132", "contest_title_slug": "weekly-contest-132", "contest_id": 57, "contest_start_time": 1555209000, "contest_duration": 5400, "user_num": 1050, "question_slugs": ["divisor-game", "maximum-difference-between-node-and-ancestor", "longest-arithmetic-subsequence", "recover-a-tree-from-preorder-traversal"]}, {"contest_title": "\u7b2c 133 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 133", "contest_title_slug": "weekly-contest-133", "contest_id": 59, "contest_start_time": 1555813800, "contest_duration": 5400, "user_num": 999, "question_slugs": ["two-city-scheduling", "matrix-cells-in-distance-order", "maximum-sum-of-two-non-overlapping-subarrays", "stream-of-characters"]}, {"contest_title": "\u7b2c 134 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 134", "contest_title_slug": "weekly-contest-134", "contest_id": 64, "contest_start_time": 1556418600, "contest_duration": 5400, "user_num": 728, "question_slugs": ["moving-stones-until-consecutive", "coloring-a-border", "uncrossed-lines", "escape-a-large-maze"]}, {"contest_title": "\u7b2c 135 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 135", "contest_title_slug": "weekly-contest-135", "contest_id": 65, "contest_start_time": 1557023400, "contest_duration": 5400, "user_num": 549, "question_slugs": ["valid-boomerang", "binary-search-tree-to-greater-sum-tree", "minimum-score-triangulation-of-polygon", "moving-stones-until-consecutive-ii"]}, {"contest_title": "\u7b2c 136 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 136", "contest_title_slug": "weekly-contest-136", "contest_id": 66, "contest_start_time": 1557628200, "contest_duration": 5400, "user_num": 790, "question_slugs": ["robot-bounded-in-circle", "flower-planting-with-no-adjacent", "partition-array-for-maximum-sum", "longest-duplicate-substring"]}, {"contest_title": "\u7b2c 137 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 137", "contest_title_slug": "weekly-contest-137", "contest_id": 67, "contest_start_time": 1558233000, "contest_duration": 5400, "user_num": 766, "question_slugs": ["last-stone-weight", "remove-all-adjacent-duplicates-in-string", "longest-string-chain", "last-stone-weight-ii"]}, {"contest_title": "\u7b2c 138 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 138", "contest_title_slug": "weekly-contest-138", "contest_id": 68, "contest_start_time": 1558837800, "contest_duration": 5400, "user_num": 752, "question_slugs": ["height-checker", "grumpy-bookstore-owner", "previous-permutation-with-one-swap", "distant-barcodes"]}, {"contest_title": "\u7b2c 139 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 139", "contest_title_slug": "weekly-contest-139", "contest_id": 69, "contest_start_time": 1559442600, "contest_duration": 5400, "user_num": 785, "question_slugs": ["greatest-common-divisor-of-strings", "flip-columns-for-maximum-number-of-equal-rows", "adding-two-negabinary-numbers", "number-of-submatrices-that-sum-to-target"]}, {"contest_title": "\u7b2c 140 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 140", "contest_title_slug": "weekly-contest-140", "contest_id": 71, "contest_start_time": 1560047400, "contest_duration": 5400, "user_num": 660, "question_slugs": ["occurrences-after-bigram", "letter-tile-possibilities", "insufficient-nodes-in-root-to-leaf-paths", "smallest-subsequence-of-distinct-characters"]}, {"contest_title": "\u7b2c 141 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 141", "contest_title_slug": "weekly-contest-141", "contest_id": 72, "contest_start_time": 1560652200, "contest_duration": 5400, "user_num": 763, "question_slugs": ["duplicate-zeros", "largest-values-from-labels", "shortest-path-in-binary-matrix", "shortest-common-supersequence"]}, {"contest_title": "\u7b2c 142 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 142", "contest_title_slug": "weekly-contest-142", "contest_id": 74, "contest_start_time": 1561257000, "contest_duration": 5400, "user_num": 801, "question_slugs": ["statistics-from-a-large-sample", "car-pooling", "find-in-mountain-array", "brace-expansion-ii"]}, {"contest_title": "\u7b2c 143 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 143", "contest_title_slug": "weekly-contest-143", "contest_id": 84, "contest_start_time": 1561861800, "contest_duration": 5400, "user_num": 803, "question_slugs": ["distribute-candies-to-people", "path-in-zigzag-labelled-binary-tree", "filling-bookcase-shelves", "parsing-a-boolean-expression"]}, {"contest_title": "\u7b2c 144 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 144", "contest_title_slug": "weekly-contest-144", "contest_id": 86, "contest_start_time": 1562466600, "contest_duration": 5400, "user_num": 777, "question_slugs": ["defanging-an-ip-address", "corporate-flight-bookings", "delete-nodes-and-return-forest", "maximum-nesting-depth-of-two-valid-parentheses-strings"]}, {"contest_title": "\u7b2c 145 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 145", "contest_title_slug": "weekly-contest-145", "contest_id": 87, "contest_start_time": 1563071400, "contest_duration": 5400, "user_num": 1114, "question_slugs": ["relative-sort-array", "lowest-common-ancestor-of-deepest-leaves", "longest-well-performing-interval", "smallest-sufficient-team"]}, {"contest_title": "\u7b2c 146 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 146", "contest_title_slug": "weekly-contest-146", "contest_id": 89, "contest_start_time": 1563676200, "contest_duration": 5400, "user_num": 1189, "question_slugs": ["number-of-equivalent-domino-pairs", "shortest-path-with-alternating-colors", "minimum-cost-tree-from-leaf-values", "maximum-of-absolute-value-expression"]}, {"contest_title": "\u7b2c 147 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 147", "contest_title_slug": "weekly-contest-147", "contest_id": 90, "contest_start_time": 1564281000, "contest_duration": 5400, "user_num": 1132, "question_slugs": ["n-th-tribonacci-number", "alphabet-board-path", "largest-1-bordered-square", "stone-game-ii"]}, {"contest_title": "\u7b2c 148 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 148", "contest_title_slug": "weekly-contest-148", "contest_id": 93, "contest_start_time": 1564885800, "contest_duration": 5400, "user_num": 1251, "question_slugs": ["decrease-elements-to-make-array-zigzag", "binary-tree-coloring-game", "snapshot-array", "longest-chunked-palindrome-decomposition"]}, {"contest_title": "\u7b2c 149 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 149", "contest_title_slug": "weekly-contest-149", "contest_id": 94, "contest_start_time": 1565490600, "contest_duration": 5400, "user_num": 1351, "question_slugs": ["day-of-the-year", "number-of-dice-rolls-with-target-sum", "swap-for-longest-repeated-character-substring", "online-majority-element-in-subarray"]}, {"contest_title": "\u7b2c 150 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 150", "contest_title_slug": "weekly-contest-150", "contest_id": 96, "contest_start_time": 1566095400, "contest_duration": 5400, "user_num": 1473, "question_slugs": ["find-words-that-can-be-formed-by-characters", "maximum-level-sum-of-a-binary-tree", "as-far-from-land-as-possible", "last-substring-in-lexicographical-order"]}, {"contest_title": "\u7b2c 151 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 151", "contest_title_slug": "weekly-contest-151", "contest_id": 98, "contest_start_time": 1566700200, "contest_duration": 5400, "user_num": 1341, "question_slugs": ["invalid-transactions", "compare-strings-by-frequency-of-the-smallest-character", "remove-zero-sum-consecutive-nodes-from-linked-list", "dinner-plate-stacks"]}, {"contest_title": "\u7b2c 152 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 152", "contest_title_slug": "weekly-contest-152", "contest_id": 100, "contest_start_time": 1567305000, "contest_duration": 5400, "user_num": 1367, "question_slugs": ["prime-arrangements", "diet-plan-performance", "can-make-palindrome-from-substring", "number-of-valid-words-for-each-puzzle"]}, {"contest_title": "\u7b2c 153 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 153", "contest_title_slug": "weekly-contest-153", "contest_id": 102, "contest_start_time": 1567909800, "contest_duration": 5400, "user_num": 1434, "question_slugs": ["distance-between-bus-stops", "day-of-the-week", "maximum-subarray-sum-with-one-deletion", "make-array-strictly-increasing"]}, {"contest_title": "\u7b2c 154 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 154", "contest_title_slug": "weekly-contest-154", "contest_id": 106, "contest_start_time": 1568514600, "contest_duration": 5400, "user_num": 1299, "question_slugs": ["maximum-number-of-balloons", "reverse-substrings-between-each-pair-of-parentheses", "k-concatenation-maximum-sum", "critical-connections-in-a-network"]}, {"contest_title": "\u7b2c 155 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 155", "contest_title_slug": "weekly-contest-155", "contest_id": 107, "contest_start_time": 1569119400, "contest_duration": 5400, "user_num": 1603, "question_slugs": ["minimum-absolute-difference", "ugly-number-iii", "smallest-string-with-swaps", "sort-items-by-groups-respecting-dependencies"]}, {"contest_title": "\u7b2c 156 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 156", "contest_title_slug": "weekly-contest-156", "contest_id": 113, "contest_start_time": 1569724200, "contest_duration": 5400, "user_num": 1433, "question_slugs": ["unique-number-of-occurrences", "get-equal-substrings-within-budget", "remove-all-adjacent-duplicates-in-string-ii", "minimum-moves-to-reach-target-with-rotations"]}, {"contest_title": "\u7b2c 157 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 157", "contest_title_slug": "weekly-contest-157", "contest_id": 114, "contest_start_time": 1570329000, "contest_duration": 5400, "user_num": 1217, "question_slugs": ["minimum-cost-to-move-chips-to-the-same-position", "longest-arithmetic-subsequence-of-given-difference", "path-with-maximum-gold", "count-vowels-permutation"]}, {"contest_title": "\u7b2c 158 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 158", "contest_title_slug": "weekly-contest-158", "contest_id": 116, "contest_start_time": 1570933800, "contest_duration": 5400, "user_num": 1716, "question_slugs": ["split-a-string-in-balanced-strings", "queens-that-can-attack-the-king", "dice-roll-simulation", "maximum-equal-frequency"]}, {"contest_title": "\u7b2c 159 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 159", "contest_title_slug": "weekly-contest-159", "contest_id": 117, "contest_start_time": 1571538600, "contest_duration": 5400, "user_num": 1634, "question_slugs": ["check-if-it-is-a-straight-line", "remove-sub-folders-from-the-filesystem", "replace-the-substring-for-balanced-string", "maximum-profit-in-job-scheduling"]}, {"contest_title": "\u7b2c 160 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 160", "contest_title_slug": "weekly-contest-160", "contest_id": 119, "contest_start_time": 1572143400, "contest_duration": 5400, "user_num": 1692, "question_slugs": ["find-positive-integer-solution-for-a-given-equation", "circular-permutation-in-binary-representation", "maximum-length-of-a-concatenated-string-with-unique-characters", "tiling-a-rectangle-with-the-fewest-squares"]}, {"contest_title": "\u7b2c 161 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 161", "contest_title_slug": "weekly-contest-161", "contest_id": 120, "contest_start_time": 1572748200, "contest_duration": 5400, "user_num": 1610, "question_slugs": ["minimum-swaps-to-make-strings-equal", "count-number-of-nice-subarrays", "minimum-remove-to-make-valid-parentheses", "check-if-it-is-a-good-array"]}, {"contest_title": "\u7b2c 162 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 162", "contest_title_slug": "weekly-contest-162", "contest_id": 122, "contest_start_time": 1573353000, "contest_duration": 5400, "user_num": 1569, "question_slugs": ["cells-with-odd-values-in-a-matrix", "reconstruct-a-2-row-binary-matrix", "number-of-closed-islands", "maximum-score-words-formed-by-letters"]}, {"contest_title": "\u7b2c 163 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 163", "contest_title_slug": "weekly-contest-163", "contest_id": 123, "contest_start_time": 1573957800, "contest_duration": 5400, "user_num": 1605, "question_slugs": ["shift-2d-grid", "find-elements-in-a-contaminated-binary-tree", "greatest-sum-divisible-by-three", "minimum-moves-to-move-a-box-to-their-target-location"]}, {"contest_title": "\u7b2c 164 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 164", "contest_title_slug": "weekly-contest-164", "contest_id": 125, "contest_start_time": 1574562600, "contest_duration": 5400, "user_num": 1676, "question_slugs": ["minimum-time-visiting-all-points", "count-servers-that-communicate", "search-suggestions-system", "number-of-ways-to-stay-in-the-same-place-after-some-steps"]}, {"contest_title": "\u7b2c 165 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 165", "contest_title_slug": "weekly-contest-165", "contest_id": 128, "contest_start_time": 1575167400, "contest_duration": 5400, "user_num": 1660, "question_slugs": ["find-winner-on-a-tic-tac-toe-game", "number-of-burgers-with-no-waste-of-ingredients", "count-square-submatrices-with-all-ones", "palindrome-partitioning-iii"]}, {"contest_title": "\u7b2c 166 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 166", "contest_title_slug": "weekly-contest-166", "contest_id": 130, "contest_start_time": 1575772200, "contest_duration": 5400, "user_num": 1676, "question_slugs": ["subtract-the-product-and-sum-of-digits-of-an-integer", "group-the-people-given-the-group-size-they-belong-to", "find-the-smallest-divisor-given-a-threshold", "minimum-number-of-flips-to-convert-binary-matrix-to-zero-matrix"]}, {"contest_title": "\u7b2c 167 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 167", "contest_title_slug": "weekly-contest-167", "contest_id": 131, "contest_start_time": 1576377000, "contest_duration": 5400, "user_num": 1537, "question_slugs": ["convert-binary-number-in-a-linked-list-to-integer", "sequential-digits", "maximum-side-length-of-a-square-with-sum-less-than-or-equal-to-threshold", "shortest-path-in-a-grid-with-obstacles-elimination"]}, {"contest_title": "\u7b2c 168 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 168", "contest_title_slug": "weekly-contest-168", "contest_id": 133, "contest_start_time": 1576981800, "contest_duration": 5400, "user_num": 1553, "question_slugs": ["find-numbers-with-even-number-of-digits", "divide-array-in-sets-of-k-consecutive-numbers", "maximum-number-of-occurrences-of-a-substring", "maximum-candies-you-can-get-from-boxes"]}, {"contest_title": "\u7b2c 169 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 169", "contest_title_slug": "weekly-contest-169", "contest_id": 134, "contest_start_time": 1577586600, "contest_duration": 5400, "user_num": 1568, "question_slugs": ["find-n-unique-integers-sum-up-to-zero", "all-elements-in-two-binary-search-trees", "jump-game-iii", "verbal-arithmetic-puzzle"]}, {"contest_title": "\u7b2c 170 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 170", "contest_title_slug": "weekly-contest-170", "contest_id": 136, "contest_start_time": 1578191400, "contest_duration": 5400, "user_num": 1649, "question_slugs": ["decrypt-string-from-alphabet-to-integer-mapping", "xor-queries-of-a-subarray", "get-watched-videos-by-your-friends", "minimum-insertion-steps-to-make-a-string-palindrome"]}, {"contest_title": "\u7b2c 171 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 171", "contest_title_slug": "weekly-contest-171", "contest_id": 137, "contest_start_time": 1578796200, "contest_duration": 5400, "user_num": 1708, "question_slugs": ["convert-integer-to-the-sum-of-two-no-zero-integers", "minimum-flips-to-make-a-or-b-equal-to-c", "number-of-operations-to-make-network-connected", "minimum-distance-to-type-a-word-using-two-fingers"]}, {"contest_title": "\u7b2c 172 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 172", "contest_title_slug": "weekly-contest-172", "contest_id": 139, "contest_start_time": 1579401000, "contest_duration": 5400, "user_num": 1415, "question_slugs": ["maximum-69-number", "print-words-vertically", "delete-leaves-with-a-given-value", "minimum-number-of-taps-to-open-to-water-a-garden"]}, {"contest_title": "\u7b2c 173 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 173", "contest_title_slug": "weekly-contest-173", "contest_id": 142, "contest_start_time": 1580005800, "contest_duration": 5400, "user_num": 1072, "question_slugs": ["remove-palindromic-subsequences", "filter-restaurants-by-vegan-friendly-price-and-distance", "find-the-city-with-the-smallest-number-of-neighbors-at-a-threshold-distance", "minimum-difficulty-of-a-job-schedule"]}, {"contest_title": "\u7b2c 174 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 174", "contest_title_slug": "weekly-contest-174", "contest_id": 144, "contest_start_time": 1580610600, "contest_duration": 5400, "user_num": 1660, "question_slugs": ["the-k-weakest-rows-in-a-matrix", "reduce-array-size-to-the-half", "maximum-product-of-splitted-binary-tree", "jump-game-v"]}, {"contest_title": "\u7b2c 175 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 175", "contest_title_slug": "weekly-contest-175", "contest_id": 145, "contest_start_time": 1581215400, "contest_duration": 5400, "user_num": 2048, "question_slugs": ["check-if-n-and-its-double-exist", "minimum-number-of-steps-to-make-two-strings-anagram", "tweet-counts-per-frequency", "maximum-students-taking-exam"]}, {"contest_title": "\u7b2c 176 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 176", "contest_title_slug": "weekly-contest-176", "contest_id": 147, "contest_start_time": 1581820200, "contest_duration": 5400, "user_num": 2410, "question_slugs": ["count-negative-numbers-in-a-sorted-matrix", "product-of-the-last-k-numbers", "maximum-number-of-events-that-can-be-attended", "construct-target-array-with-multiple-sums"]}, {"contest_title": "\u7b2c 177 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 177", "contest_title_slug": "weekly-contest-177", "contest_id": 148, "contest_start_time": 1582425000, "contest_duration": 5400, "user_num": 2986, "question_slugs": ["number-of-days-between-two-dates", "validate-binary-tree-nodes", "closest-divisors", "largest-multiple-of-three"]}, {"contest_title": "\u7b2c 178 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 178", "contest_title_slug": "weekly-contest-178", "contest_id": 154, "contest_start_time": 1583029800, "contest_duration": 5400, "user_num": 3305, "question_slugs": ["how-many-numbers-are-smaller-than-the-current-number", "rank-teams-by-votes", "linked-list-in-binary-tree", "minimum-cost-to-make-at-least-one-valid-path-in-a-grid"]}, {"contest_title": "\u7b2c 179 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 179", "contest_title_slug": "weekly-contest-179", "contest_id": 156, "contest_start_time": 1583634600, "contest_duration": 5400, "user_num": 3606, "question_slugs": ["generate-a-string-with-characters-that-have-odd-counts", "number-of-times-binary-string-is-prefix-aligned", "time-needed-to-inform-all-employees", "frog-position-after-t-seconds"]}, {"contest_title": "\u7b2c 180 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 180", "contest_title_slug": "weekly-contest-180", "contest_id": 160, "contest_start_time": 1584239400, "contest_duration": 5400, "user_num": 3715, "question_slugs": ["lucky-numbers-in-a-matrix", "design-a-stack-with-increment-operation", "balance-a-binary-search-tree", "maximum-performance-of-a-team"]}, {"contest_title": "\u7b2c 181 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 181", "contest_title_slug": "weekly-contest-181", "contest_id": 162, "contest_start_time": 1584844200, "contest_duration": 5400, "user_num": 4149, "question_slugs": ["create-target-array-in-the-given-order", "four-divisors", "check-if-there-is-a-valid-path-in-a-grid", "longest-happy-prefix"]}, {"contest_title": "\u7b2c 182 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 182", "contest_title_slug": "weekly-contest-182", "contest_id": 166, "contest_start_time": 1585449000, "contest_duration": 5400, "user_num": 3911, "question_slugs": ["find-lucky-integer-in-an-array", "count-number-of-teams", "design-underground-system", "find-all-good-strings"]}, {"contest_title": "\u7b2c 183 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 183", "contest_title_slug": "weekly-contest-183", "contest_id": 168, "contest_start_time": 1586053800, "contest_duration": 5400, "user_num": 3756, "question_slugs": ["minimum-subsequence-in-non-increasing-order", "number-of-steps-to-reduce-a-number-in-binary-representation-to-one", "longest-happy-string", "stone-game-iii"]}, {"contest_title": "\u7b2c 184 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 184", "contest_title_slug": "weekly-contest-184", "contest_id": 175, "contest_start_time": 1586658600, "contest_duration": 5400, "user_num": 3847, "question_slugs": ["string-matching-in-an-array", "queries-on-a-permutation-with-key", "html-entity-parser", "number-of-ways-to-paint-n-3-grid"]}, {"contest_title": "\u7b2c 185 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 185", "contest_title_slug": "weekly-contest-185", "contest_id": 177, "contest_start_time": 1587263400, "contest_duration": 5400, "user_num": 5004, "question_slugs": ["reformat-the-string", "display-table-of-food-orders-in-a-restaurant", "minimum-number-of-frogs-croaking", "build-array-where-you-can-find-the-maximum-exactly-k-comparisons"]}, {"contest_title": "\u7b2c 186 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 186", "contest_title_slug": "weekly-contest-186", "contest_id": 185, "contest_start_time": 1587868200, "contest_duration": 5400, "user_num": 3108, "question_slugs": ["maximum-score-after-splitting-a-string", "maximum-points-you-can-obtain-from-cards", "diagonal-traverse-ii", "constrained-subsequence-sum"]}, {"contest_title": "\u7b2c 187 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 187", "contest_title_slug": "weekly-contest-187", "contest_id": 191, "contest_start_time": 1588473000, "contest_duration": 5400, "user_num": 3109, "question_slugs": ["destination-city", "check-if-all-1s-are-at-least-length-k-places-away", "longest-continuous-subarray-with-absolute-diff-less-than-or-equal-to-limit", "find-the-kth-smallest-sum-of-a-matrix-with-sorted-rows"]}, {"contest_title": "\u7b2c 188 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 188", "contest_title_slug": "weekly-contest-188", "contest_id": 195, "contest_start_time": 1589077800, "contest_duration": 5400, "user_num": 3982, "question_slugs": ["build-an-array-with-stack-operations", "count-triplets-that-can-form-two-arrays-of-equal-xor", "minimum-time-to-collect-all-apples-in-a-tree", "number-of-ways-of-cutting-a-pizza"]}, {"contest_title": "\u7b2c 189 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 189", "contest_title_slug": "weekly-contest-189", "contest_id": 197, "contest_start_time": 1589682600, "contest_duration": 5400, "user_num": 3692, "question_slugs": ["number-of-students-doing-homework-at-a-given-time", "rearrange-words-in-a-sentence", "people-whose-list-of-favorite-companies-is-not-a-subset-of-another-list", "maximum-number-of-darts-inside-of-a-circular-dartboard"]}, {"contest_title": "\u7b2c 190 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 190", "contest_title_slug": "weekly-contest-190", "contest_id": 201, "contest_start_time": 1590287400, "contest_duration": 5400, "user_num": 3352, "question_slugs": ["check-if-a-word-occurs-as-a-prefix-of-any-word-in-a-sentence", "maximum-number-of-vowels-in-a-substring-of-given-length", "pseudo-palindromic-paths-in-a-binary-tree", "max-dot-product-of-two-subsequences"]}, {"contest_title": "\u7b2c 191 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 191", "contest_title_slug": "weekly-contest-191", "contest_id": 203, "contest_start_time": 1590892200, "contest_duration": 5400, "user_num": 3687, "question_slugs": ["maximum-product-of-two-elements-in-an-array", "maximum-area-of-a-piece-of-cake-after-horizontal-and-vertical-cuts", "reorder-routes-to-make-all-paths-lead-to-the-city-zero", "probability-of-a-two-boxes-having-the-same-number-of-distinct-balls"]}, {"contest_title": "\u7b2c 192 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 192", "contest_title_slug": "weekly-contest-192", "contest_id": 207, "contest_start_time": 1591497000, "contest_duration": 5400, "user_num": 3615, "question_slugs": ["shuffle-the-array", "the-k-strongest-values-in-an-array", "design-browser-history", "paint-house-iii"]}, {"contest_title": "\u7b2c 193 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 193", "contest_title_slug": "weekly-contest-193", "contest_id": 209, "contest_start_time": 1592101800, "contest_duration": 5400, "user_num": 3804, "question_slugs": ["running-sum-of-1d-array", "least-number-of-unique-integers-after-k-removals", "minimum-number-of-days-to-make-m-bouquets", "kth-ancestor-of-a-tree-node"]}, {"contest_title": "\u7b2c 194 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 194", "contest_title_slug": "weekly-contest-194", "contest_id": 213, "contest_start_time": 1592706600, "contest_duration": 5400, "user_num": 4378, "question_slugs": ["xor-operation-in-an-array", "making-file-names-unique", "avoid-flood-in-the-city", "find-critical-and-pseudo-critical-edges-in-minimum-spanning-tree"]}, {"contest_title": "\u7b2c 195 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 195", "contest_title_slug": "weekly-contest-195", "contest_id": 215, "contest_start_time": 1593311400, "contest_duration": 5400, "user_num": 3401, "question_slugs": ["path-crossing", "check-if-array-pairs-are-divisible-by-k", "number-of-subsequences-that-satisfy-the-given-sum-condition", "max-value-of-equation"]}, {"contest_title": "\u7b2c 196 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 196", "contest_title_slug": "weekly-contest-196", "contest_id": 219, "contest_start_time": 1593916200, "contest_duration": 5400, "user_num": 5507, "question_slugs": ["can-make-arithmetic-progression-from-sequence", "last-moment-before-all-ants-fall-out-of-a-plank", "count-submatrices-with-all-ones", "minimum-possible-integer-after-at-most-k-adjacent-swaps-on-digits"]}, {"contest_title": "\u7b2c 197 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 197", "contest_title_slug": "weekly-contest-197", "contest_id": 221, "contest_start_time": 1594521000, "contest_duration": 5400, "user_num": 5275, "question_slugs": ["number-of-good-pairs", "number-of-substrings-with-only-1s", "path-with-maximum-probability", "best-position-for-a-service-centre"]}, {"contest_title": "\u7b2c 198 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 198", "contest_title_slug": "weekly-contest-198", "contest_id": 226, "contest_start_time": 1595125800, "contest_duration": 5400, "user_num": 5780, "question_slugs": ["water-bottles", "number-of-nodes-in-the-sub-tree-with-the-same-label", "maximum-number-of-non-overlapping-substrings", "find-a-value-of-a-mysterious-function-closest-to-target"]}, {"contest_title": "\u7b2c 199 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 199", "contest_title_slug": "weekly-contest-199", "contest_id": 228, "contest_start_time": 1595730600, "contest_duration": 5400, "user_num": 5232, "question_slugs": ["shuffle-string", "minimum-suffix-flips", "number-of-good-leaf-nodes-pairs", "string-compression-ii"]}, {"contest_title": "\u7b2c 200 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 200", "contest_title_slug": "weekly-contest-200", "contest_id": 235, "contest_start_time": 1596335400, "contest_duration": 5400, "user_num": 5476, "question_slugs": ["count-good-triplets", "find-the-winner-of-an-array-game", "minimum-swaps-to-arrange-a-binary-grid", "get-the-maximum-score"]}, {"contest_title": "\u7b2c 201 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 201", "contest_title_slug": "weekly-contest-201", "contest_id": 238, "contest_start_time": 1596940200, "contest_duration": 5400, "user_num": 5615, "question_slugs": ["make-the-string-great", "find-kth-bit-in-nth-binary-string", "maximum-number-of-non-overlapping-subarrays-with-sum-equals-target", "minimum-cost-to-cut-a-stick"]}, {"contest_title": "\u7b2c 202 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 202", "contest_title_slug": "weekly-contest-202", "contest_id": 242, "contest_start_time": 1597545000, "contest_duration": 5400, "user_num": 4990, "question_slugs": ["three-consecutive-odds", "minimum-operations-to-make-array-equal", "magnetic-force-between-two-balls", "minimum-number-of-days-to-eat-n-oranges"]}, {"contest_title": "\u7b2c 203 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 203", "contest_title_slug": "weekly-contest-203", "contest_id": 244, "contest_start_time": 1598149800, "contest_duration": 5400, "user_num": 5285, "question_slugs": ["most-visited-sector-in-a-circular-track", "maximum-number-of-coins-you-can-get", "find-latest-group-of-size-m", "stone-game-v"]}, {"contest_title": "\u7b2c 204 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 204", "contest_title_slug": "weekly-contest-204", "contest_id": 257, "contest_start_time": 1598754600, "contest_duration": 5400, "user_num": 4487, "question_slugs": ["detect-pattern-of-length-m-repeated-k-or-more-times", "maximum-length-of-subarray-with-positive-product", "minimum-number-of-days-to-disconnect-island", "number-of-ways-to-reorder-array-to-get-same-bst"]}, {"contest_title": "\u7b2c 205 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 205", "contest_title_slug": "weekly-contest-205", "contest_id": 260, "contest_start_time": 1599359400, "contest_duration": 5400, "user_num": 4176, "question_slugs": ["replace-all-s-to-avoid-consecutive-repeating-characters", "number-of-ways-where-square-of-number-is-equal-to-product-of-two-numbers", "minimum-time-to-make-rope-colorful", "remove-max-number-of-edges-to-keep-graph-fully-traversable"]}, {"contest_title": "\u7b2c 206 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 206", "contest_title_slug": "weekly-contest-206", "contest_id": 267, "contest_start_time": 1599964200, "contest_duration": 5400, "user_num": 4493, "question_slugs": ["special-positions-in-a-binary-matrix", "count-unhappy-friends", "min-cost-to-connect-all-points", "check-if-string-is-transformable-with-substring-sort-operations"]}, {"contest_title": "\u7b2c 207 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 207", "contest_title_slug": "weekly-contest-207", "contest_id": 278, "contest_start_time": 1600569000, "contest_duration": 5400, "user_num": 4116, "question_slugs": ["rearrange-spaces-between-words", "split-a-string-into-the-max-number-of-unique-substrings", "maximum-non-negative-product-in-a-matrix", "minimum-cost-to-connect-two-groups-of-points"]}, {"contest_title": "\u7b2c 208 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 208", "contest_title_slug": "weekly-contest-208", "contest_id": 289, "contest_start_time": 1601173800, "contest_duration": 5400, "user_num": 3582, "question_slugs": ["crawler-log-folder", "maximum-profit-of-operating-a-centennial-wheel", "throne-inheritance", "maximum-number-of-achievable-transfer-requests"]}, {"contest_title": "\u7b2c 209 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 209", "contest_title_slug": "weekly-contest-209", "contest_id": 291, "contest_start_time": 1601778600, "contest_duration": 5400, "user_num": 4023, "question_slugs": ["special-array-with-x-elements-greater-than-or-equal-x", "even-odd-tree", "maximum-number-of-visible-points", "minimum-one-bit-operations-to-make-integers-zero"]}, {"contest_title": "\u7b2c 210 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 210", "contest_title_slug": "weekly-contest-210", "contest_id": 295, "contest_start_time": 1602383400, "contest_duration": 5400, "user_num": 4007, "question_slugs": ["maximum-nesting-depth-of-the-parentheses", "maximal-network-rank", "split-two-strings-to-make-palindrome", "count-subtrees-with-max-distance-between-cities"]}, {"contest_title": "\u7b2c 211 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 211", "contest_title_slug": "weekly-contest-211", "contest_id": 297, "contest_start_time": 1602988200, "contest_duration": 5400, "user_num": 4034, "question_slugs": ["largest-substring-between-two-equal-characters", "lexicographically-smallest-string-after-applying-operations", "best-team-with-no-conflicts", "graph-connectivity-with-threshold"]}, {"contest_title": "\u7b2c 212 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 212", "contest_title_slug": "weekly-contest-212", "contest_id": 301, "contest_start_time": 1603593000, "contest_duration": 5400, "user_num": 4227, "question_slugs": ["slowest-key", "arithmetic-subarrays", "path-with-minimum-effort", "rank-transform-of-a-matrix"]}, {"contest_title": "\u7b2c 213 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 213", "contest_title_slug": "weekly-contest-213", "contest_id": 303, "contest_start_time": 1604197800, "contest_duration": 5400, "user_num": 3827, "question_slugs": ["check-array-formation-through-concatenation", "count-sorted-vowel-strings", "furthest-building-you-can-reach", "kth-smallest-instructions"]}, {"contest_title": "\u7b2c 214 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 214", "contest_title_slug": "weekly-contest-214", "contest_id": 307, "contest_start_time": 1604802600, "contest_duration": 5400, "user_num": 3598, "question_slugs": ["get-maximum-in-generated-array", "minimum-deletions-to-make-character-frequencies-unique", "sell-diminishing-valued-colored-balls", "create-sorted-array-through-instructions"]}, {"contest_title": "\u7b2c 215 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 215", "contest_title_slug": "weekly-contest-215", "contest_id": 309, "contest_start_time": 1605407400, "contest_duration": 5400, "user_num": 4429, "question_slugs": ["design-an-ordered-stream", "determine-if-two-strings-are-close", "minimum-operations-to-reduce-x-to-zero", "maximize-grid-happiness"]}, {"contest_title": "\u7b2c 216 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 216", "contest_title_slug": "weekly-contest-216", "contest_id": 313, "contest_start_time": 1606012200, "contest_duration": 5400, "user_num": 3857, "question_slugs": ["check-if-two-string-arrays-are-equivalent", "smallest-string-with-a-given-numeric-value", "ways-to-make-a-fair-array", "minimum-initial-energy-to-finish-tasks"]}, {"contest_title": "\u7b2c 217 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 217", "contest_title_slug": "weekly-contest-217", "contest_id": 315, "contest_start_time": 1606617000, "contest_duration": 5400, "user_num": 3745, "question_slugs": ["richest-customer-wealth", "find-the-most-competitive-subsequence", "minimum-moves-to-make-array-complementary", "minimize-deviation-in-array"]}, {"contest_title": "\u7b2c 218 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 218", "contest_title_slug": "weekly-contest-218", "contest_id": 319, "contest_start_time": 1607221800, "contest_duration": 5400, "user_num": 3762, "question_slugs": ["goal-parser-interpretation", "max-number-of-k-sum-pairs", "concatenation-of-consecutive-binary-numbers", "minimum-incompatibility"]}, {"contest_title": "\u7b2c 219 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 219", "contest_title_slug": "weekly-contest-219", "contest_id": 322, "contest_start_time": 1607826600, "contest_duration": 5400, "user_num": 3710, "question_slugs": ["count-of-matches-in-tournament", "partitioning-into-minimum-number-of-deci-binary-numbers", "stone-game-vii", "maximum-height-by-stacking-cuboids"]}, {"contest_title": "\u7b2c 220 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 220", "contest_title_slug": "weekly-contest-220", "contest_id": 326, "contest_start_time": 1608431400, "contest_duration": 5400, "user_num": 3691, "question_slugs": ["reformat-phone-number", "maximum-erasure-value", "jump-game-vi", "checking-existence-of-edge-length-limited-paths"]}, {"contest_title": "\u7b2c 221 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 221", "contest_title_slug": "weekly-contest-221", "contest_id": 328, "contest_start_time": 1609036200, "contest_duration": 5400, "user_num": 3398, "question_slugs": ["determine-if-string-halves-are-alike", "maximum-number-of-eaten-apples", "where-will-the-ball-fall", "maximum-xor-with-an-element-from-array"]}, {"contest_title": "\u7b2c 222 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 222", "contest_title_slug": "weekly-contest-222", "contest_id": 332, "contest_start_time": 1609641000, "contest_duration": 5400, "user_num": 3119, "question_slugs": ["maximum-units-on-a-truck", "count-good-meals", "ways-to-split-array-into-three-subarrays", "minimum-operations-to-make-a-subsequence"]}, {"contest_title": "\u7b2c 223 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 223", "contest_title_slug": "weekly-contest-223", "contest_id": 334, "contest_start_time": 1610245800, "contest_duration": 5400, "user_num": 3872, "question_slugs": ["decode-xored-array", "swapping-nodes-in-a-linked-list", "minimize-hamming-distance-after-swap-operations", "find-minimum-time-to-finish-all-jobs"]}, {"contest_title": "\u7b2c 224 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 224", "contest_title_slug": "weekly-contest-224", "contest_id": 338, "contest_start_time": 1610850600, "contest_duration": 5400, "user_num": 3795, "question_slugs": ["number-of-rectangles-that-can-form-the-largest-square", "tuple-with-same-product", "largest-submatrix-with-rearrangements", "cat-and-mouse-ii"]}, {"contest_title": "\u7b2c 225 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 225", "contest_title_slug": "weekly-contest-225", "contest_id": 340, "contest_start_time": 1611455400, "contest_duration": 5400, "user_num": 3853, "question_slugs": ["latest-time-by-replacing-hidden-digits", "change-minimum-characters-to-satisfy-one-of-three-conditions", "find-kth-largest-xor-coordinate-value", "building-boxes"]}, {"contest_title": "\u7b2c 226 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 226", "contest_title_slug": "weekly-contest-226", "contest_id": 344, "contest_start_time": 1612060200, "contest_duration": 5400, "user_num": 4034, "question_slugs": ["maximum-number-of-balls-in-a-box", "restore-the-array-from-adjacent-pairs", "can-you-eat-your-favorite-candy-on-your-favorite-day", "palindrome-partitioning-iv"]}, {"contest_title": "\u7b2c 227 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 227", "contest_title_slug": "weekly-contest-227", "contest_id": 346, "contest_start_time": 1612665000, "contest_duration": 5400, "user_num": 3546, "question_slugs": ["check-if-array-is-sorted-and-rotated", "maximum-score-from-removing-stones", "largest-merge-of-two-strings", "closest-subsequence-sum"]}, {"contest_title": "\u7b2c 228 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 228", "contest_title_slug": "weekly-contest-228", "contest_id": 350, "contest_start_time": 1613269800, "contest_duration": 5400, "user_num": 2484, "question_slugs": ["minimum-changes-to-make-alternating-binary-string", "count-number-of-homogenous-substrings", "minimum-limit-of-balls-in-a-bag", "minimum-degree-of-a-connected-trio-in-a-graph"]}, {"contest_title": "\u7b2c 229 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 229", "contest_title_slug": "weekly-contest-229", "contest_id": 352, "contest_start_time": 1613874600, "contest_duration": 5400, "user_num": 3484, "question_slugs": ["merge-strings-alternately", "minimum-number-of-operations-to-move-all-balls-to-each-box", "maximum-score-from-performing-multiplication-operations", "maximize-palindrome-length-from-subsequences"]}, {"contest_title": "\u7b2c 230 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 230", "contest_title_slug": "weekly-contest-230", "contest_id": 356, "contest_start_time": 1614479400, "contest_duration": 5400, "user_num": 3728, "question_slugs": ["count-items-matching-a-rule", "closest-dessert-cost", "equal-sum-arrays-with-minimum-number-of-operations", "car-fleet-ii"]}, {"contest_title": "\u7b2c 231 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 231", "contest_title_slug": "weekly-contest-231", "contest_id": 358, "contest_start_time": 1615084200, "contest_duration": 5400, "user_num": 4668, "question_slugs": ["check-if-binary-string-has-at-most-one-segment-of-ones", "minimum-elements-to-add-to-form-a-given-sum", "number-of-restricted-paths-from-first-to-last-node", "make-the-xor-of-all-segments-equal-to-zero"]}, {"contest_title": "\u7b2c 232 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 232", "contest_title_slug": "weekly-contest-232", "contest_id": 363, "contest_start_time": 1615689000, "contest_duration": 5400, "user_num": 4802, "question_slugs": ["check-if-one-string-swap-can-make-strings-equal", "find-center-of-star-graph", "maximum-average-pass-ratio", "maximum-score-of-a-good-subarray"]}, {"contest_title": "\u7b2c 233 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 233", "contest_title_slug": "weekly-contest-233", "contest_id": 371, "contest_start_time": 1616293800, "contest_duration": 5400, "user_num": 5010, "question_slugs": ["maximum-ascending-subarray-sum", "number-of-orders-in-the-backlog", "maximum-value-at-a-given-index-in-a-bounded-array", "count-pairs-with-xor-in-a-range"]}, {"contest_title": "\u7b2c 234 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 234", "contest_title_slug": "weekly-contest-234", "contest_id": 375, "contest_start_time": 1616898600, "contest_duration": 5400, "user_num": 4998, "question_slugs": ["number-of-different-integers-in-a-string", "minimum-number-of-operations-to-reinitialize-a-permutation", "evaluate-the-bracket-pairs-of-a-string", "maximize-number-of-nice-divisors"]}, {"contest_title": "\u7b2c 235 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 235", "contest_title_slug": "weekly-contest-235", "contest_id": 377, "contest_start_time": 1617503400, "contest_duration": 5400, "user_num": 4494, "question_slugs": ["truncate-sentence", "finding-the-users-active-minutes", "minimum-absolute-sum-difference", "number-of-different-subsequences-gcds"]}, {"contest_title": "\u7b2c 236 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 236", "contest_title_slug": "weekly-contest-236", "contest_id": 391, "contest_start_time": 1618108200, "contest_duration": 5400, "user_num": 5113, "question_slugs": ["sign-of-the-product-of-an-array", "find-the-winner-of-the-circular-game", "minimum-sideway-jumps", "finding-mk-average"]}, {"contest_title": "\u7b2c 237 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 237", "contest_title_slug": "weekly-contest-237", "contest_id": 393, "contest_start_time": 1618713000, "contest_duration": 5400, "user_num": 4577, "question_slugs": ["check-if-the-sentence-is-pangram", "maximum-ice-cream-bars", "single-threaded-cpu", "find-xor-sum-of-all-pairs-bitwise-and"]}, {"contest_title": "\u7b2c 238 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 238", "contest_title_slug": "weekly-contest-238", "contest_id": 397, "contest_start_time": 1619317800, "contest_duration": 5400, "user_num": 3978, "question_slugs": ["sum-of-digits-in-base-k", "frequency-of-the-most-frequent-element", "longest-substring-of-all-vowels-in-order", "maximum-building-height"]}, {"contest_title": "\u7b2c 239 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 239", "contest_title_slug": "weekly-contest-239", "contest_id": 399, "contest_start_time": 1619922600, "contest_duration": 5400, "user_num": 3907, "question_slugs": ["minimum-distance-to-the-target-element", "splitting-a-string-into-descending-consecutive-values", "minimum-adjacent-swaps-to-reach-the-kth-smallest-number", "minimum-interval-to-include-each-query"]}, {"contest_title": "\u7b2c 240 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 240", "contest_title_slug": "weekly-contest-240", "contest_id": 403, "contest_start_time": 1620527400, "contest_duration": 5400, "user_num": 4307, "question_slugs": ["maximum-population-year", "maximum-distance-between-a-pair-of-values", "maximum-subarray-min-product", "largest-color-value-in-a-directed-graph"]}, {"contest_title": "\u7b2c 241 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 241", "contest_title_slug": "weekly-contest-241", "contest_id": 405, "contest_start_time": 1621132200, "contest_duration": 5400, "user_num": 4491, "question_slugs": ["sum-of-all-subset-xor-totals", "minimum-number-of-swaps-to-make-the-binary-string-alternating", "finding-pairs-with-a-certain-sum", "number-of-ways-to-rearrange-sticks-with-k-sticks-visible"]}, {"contest_title": "\u7b2c 242 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 242", "contest_title_slug": "weekly-contest-242", "contest_id": 409, "contest_start_time": 1621737000, "contest_duration": 5400, "user_num": 4306, "question_slugs": ["longer-contiguous-segments-of-ones-than-zeros", "minimum-speed-to-arrive-on-time", "jump-game-vii", "stone-game-viii"]}, {"contest_title": "\u7b2c 243 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 243", "contest_title_slug": "weekly-contest-243", "contest_id": 411, "contest_start_time": 1622341800, "contest_duration": 5400, "user_num": 4493, "question_slugs": ["check-if-word-equals-summation-of-two-words", "maximum-value-after-insertion", "process-tasks-using-servers", "minimum-skips-to-arrive-at-meeting-on-time"]}, {"contest_title": "\u7b2c 244 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 244", "contest_title_slug": "weekly-contest-244", "contest_id": 415, "contest_start_time": 1622946600, "contest_duration": 5400, "user_num": 4430, "question_slugs": ["determine-whether-matrix-can-be-obtained-by-rotation", "reduction-operations-to-make-the-array-elements-equal", "minimum-number-of-flips-to-make-the-binary-string-alternating", "minimum-space-wasted-from-packaging"]}, {"contest_title": "\u7b2c 245 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 245", "contest_title_slug": "weekly-contest-245", "contest_id": 417, "contest_start_time": 1623551400, "contest_duration": 5400, "user_num": 4271, "question_slugs": ["redistribute-characters-to-make-all-strings-equal", "maximum-number-of-removable-characters", "merge-triplets-to-form-target-triplet", "the-earliest-and-latest-rounds-where-players-compete"]}, {"contest_title": "\u7b2c 246 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 246", "contest_title_slug": "weekly-contest-246", "contest_id": 422, "contest_start_time": 1624156200, "contest_duration": 5400, "user_num": 4136, "question_slugs": ["largest-odd-number-in-string", "the-number-of-full-rounds-you-have-played", "count-sub-islands", "minimum-absolute-difference-queries"]}, {"contest_title": "\u7b2c 247 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 247", "contest_title_slug": "weekly-contest-247", "contest_id": 426, "contest_start_time": 1624761000, "contest_duration": 5400, "user_num": 3981, "question_slugs": ["maximum-product-difference-between-two-pairs", "cyclically-rotating-a-grid", "number-of-wonderful-substrings", "count-ways-to-build-rooms-in-an-ant-colony"]}, {"contest_title": "\u7b2c 248 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 248", "contest_title_slug": "weekly-contest-248", "contest_id": 430, "contest_start_time": 1625365800, "contest_duration": 5400, "user_num": 4451, "question_slugs": ["build-array-from-permutation", "eliminate-maximum-number-of-monsters", "count-good-numbers", "longest-common-subpath"]}, {"contest_title": "\u7b2c 249 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 249", "contest_title_slug": "weekly-contest-249", "contest_id": 432, "contest_start_time": 1625970600, "contest_duration": 5400, "user_num": 4335, "question_slugs": ["concatenation-of-array", "unique-length-3-palindromic-subsequences", "painting-a-grid-with-three-different-colors", "merge-bsts-to-create-single-bst"]}, {"contest_title": "\u7b2c 250 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 250", "contest_title_slug": "weekly-contest-250", "contest_id": 436, "contest_start_time": 1626575400, "contest_duration": 5400, "user_num": 4315, "question_slugs": ["maximum-number-of-words-you-can-type", "add-minimum-number-of-rungs", "maximum-number-of-points-with-cost", "maximum-genetic-difference-query"]}, {"contest_title": "\u7b2c 251 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 251", "contest_title_slug": "weekly-contest-251", "contest_id": 438, "contest_start_time": 1627180200, "contest_duration": 5400, "user_num": 4747, "question_slugs": ["sum-of-digits-of-string-after-convert", "largest-number-after-mutating-substring", "maximum-compatibility-score-sum", "delete-duplicate-folders-in-system"]}, {"contest_title": "\u7b2c 252 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 252", "contest_title_slug": "weekly-contest-252", "contest_id": 442, "contest_start_time": 1627785000, "contest_duration": 5400, "user_num": 4647, "question_slugs": ["three-divisors", "maximum-number-of-weeks-for-which-you-can-work", "minimum-garden-perimeter-to-collect-enough-apples", "count-number-of-special-subsequences"]}, {"contest_title": "\u7b2c 253 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 253", "contest_title_slug": "weekly-contest-253", "contest_id": 444, "contest_start_time": 1628389800, "contest_duration": 5400, "user_num": 4570, "question_slugs": ["check-if-string-is-a-prefix-of-array", "remove-stones-to-minimize-the-total", "minimum-number-of-swaps-to-make-the-string-balanced", "find-the-longest-valid-obstacle-course-at-each-position"]}, {"contest_title": "\u7b2c 254 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 254", "contest_title_slug": "weekly-contest-254", "contest_id": 449, "contest_start_time": 1628994600, "contest_duration": 5400, "user_num": 4349, "question_slugs": ["number-of-strings-that-appear-as-substrings-in-word", "array-with-elements-not-equal-to-average-of-neighbors", "minimum-non-zero-product-of-the-array-elements", "last-day-where-you-can-still-cross"]}, {"contest_title": "\u7b2c 255 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 255", "contest_title_slug": "weekly-contest-255", "contest_id": 457, "contest_start_time": 1629599400, "contest_duration": 5400, "user_num": 4333, "question_slugs": ["find-greatest-common-divisor-of-array", "find-unique-binary-string", "minimize-the-difference-between-target-and-chosen-elements", "find-array-given-subset-sums"]}, {"contest_title": "\u7b2c 256 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 256", "contest_title_slug": "weekly-contest-256", "contest_id": 462, "contest_start_time": 1630204200, "contest_duration": 5400, "user_num": 4136, "question_slugs": ["minimum-difference-between-highest-and-lowest-of-k-scores", "find-the-kth-largest-integer-in-the-array", "minimum-number-of-work-sessions-to-finish-the-tasks", "number-of-unique-good-subsequences"]}, {"contest_title": "\u7b2c 257 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 257", "contest_title_slug": "weekly-contest-257", "contest_id": 464, "contest_start_time": 1630809000, "contest_duration": 5400, "user_num": 4278, "question_slugs": ["count-special-quadruplets", "the-number-of-weak-characters-in-the-game", "first-day-where-you-have-been-in-all-the-rooms", "gcd-sort-of-an-array"]}, {"contest_title": "\u7b2c 258 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 258", "contest_title_slug": "weekly-contest-258", "contest_id": 468, "contest_start_time": 1631413800, "contest_duration": 5400, "user_num": 4519, "question_slugs": ["reverse-prefix-of-word", "number-of-pairs-of-interchangeable-rectangles", "maximum-product-of-the-length-of-two-palindromic-subsequences", "smallest-missing-genetic-value-in-each-subtree"]}, {"contest_title": "\u7b2c 259 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 259", "contest_title_slug": "weekly-contest-259", "contest_id": 474, "contest_start_time": 1632018600, "contest_duration": 5400, "user_num": 3775, "question_slugs": ["final-value-of-variable-after-performing-operations", "sum-of-beauty-in-the-array", "detect-squares", "longest-subsequence-repeated-k-times"]}, {"contest_title": "\u7b2c 260 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 260", "contest_title_slug": "weekly-contest-260", "contest_id": 478, "contest_start_time": 1632623400, "contest_duration": 5400, "user_num": 3654, "question_slugs": ["maximum-difference-between-increasing-elements", "grid-game", "check-if-word-can-be-placed-in-crossword", "the-score-of-students-solving-math-expression"]}, {"contest_title": "\u7b2c 261 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 261", "contest_title_slug": "weekly-contest-261", "contest_id": 481, "contest_start_time": 1633228200, "contest_duration": 5400, "user_num": 3368, "question_slugs": ["minimum-moves-to-convert-string", "find-missing-observations", "stone-game-ix", "smallest-k-length-subsequence-with-occurrences-of-a-letter"]}, {"contest_title": "\u7b2c 262 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 262", "contest_title_slug": "weekly-contest-262", "contest_id": 485, "contest_start_time": 1633833000, "contest_duration": 5400, "user_num": 4261, "question_slugs": ["two-out-of-three", "minimum-operations-to-make-a-uni-value-grid", "stock-price-fluctuation", "partition-array-into-two-arrays-to-minimize-sum-difference"]}, {"contest_title": "\u7b2c 263 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 263", "contest_title_slug": "weekly-contest-263", "contest_id": 487, "contest_start_time": 1634437800, "contest_duration": 5400, "user_num": 4572, "question_slugs": ["check-if-numbers-are-ascending-in-a-sentence", "simple-bank-system", "count-number-of-maximum-bitwise-or-subsets", "second-minimum-time-to-reach-destination"]}, {"contest_title": "\u7b2c 264 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 264", "contest_title_slug": "weekly-contest-264", "contest_id": 491, "contest_start_time": 1635042600, "contest_duration": 5400, "user_num": 4659, "question_slugs": ["number-of-valid-words-in-a-sentence", "next-greater-numerically-balanced-number", "count-nodes-with-the-highest-score", "parallel-courses-iii"]}, {"contest_title": "\u7b2c 265 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 265", "contest_title_slug": "weekly-contest-265", "contest_id": 493, "contest_start_time": 1635647400, "contest_duration": 5400, "user_num": 4182, "question_slugs": ["smallest-index-with-equal-value", "find-the-minimum-and-maximum-number-of-nodes-between-critical-points", "minimum-operations-to-convert-number", "check-if-an-original-string-exists-given-two-encoded-strings"]}, {"contest_title": "\u7b2c 266 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 266", "contest_title_slug": "weekly-contest-266", "contest_id": 498, "contest_start_time": 1636252200, "contest_duration": 5400, "user_num": 4385, "question_slugs": ["count-vowel-substrings-of-a-string", "vowels-of-all-substrings", "minimized-maximum-of-products-distributed-to-any-store", "maximum-path-quality-of-a-graph"]}, {"contest_title": "\u7b2c 267 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 267", "contest_title_slug": "weekly-contest-267", "contest_id": 500, "contest_start_time": 1636857000, "contest_duration": 5400, "user_num": 4365, "question_slugs": ["time-needed-to-buy-tickets", "reverse-nodes-in-even-length-groups", "decode-the-slanted-ciphertext", "process-restricted-friend-requests"]}, {"contest_title": "\u7b2c 268 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 268", "contest_title_slug": "weekly-contest-268", "contest_id": 504, "contest_start_time": 1637461800, "contest_duration": 5400, "user_num": 4398, "question_slugs": ["two-furthest-houses-with-different-colors", "watering-plants", "range-frequency-queries", "sum-of-k-mirror-numbers"]}, {"contest_title": "\u7b2c 269 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 269", "contest_title_slug": "weekly-contest-269", "contest_id": 506, "contest_start_time": 1638066600, "contest_duration": 5400, "user_num": 4293, "question_slugs": ["find-target-indices-after-sorting-array", "k-radius-subarray-averages", "removing-minimum-and-maximum-from-array", "find-all-people-with-secret"]}, {"contest_title": "\u7b2c 270 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 270", "contest_title_slug": "weekly-contest-270", "contest_id": 510, "contest_start_time": 1638671400, "contest_duration": 5400, "user_num": 4748, "question_slugs": ["finding-3-digit-even-numbers", "delete-the-middle-node-of-a-linked-list", "step-by-step-directions-from-a-binary-tree-node-to-another", "valid-arrangement-of-pairs"]}, {"contest_title": "\u7b2c 271 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 271", "contest_title_slug": "weekly-contest-271", "contest_id": 512, "contest_start_time": 1639276200, "contest_duration": 5400, "user_num": 4562, "question_slugs": ["rings-and-rods", "sum-of-subarray-ranges", "watering-plants-ii", "maximum-fruits-harvested-after-at-most-k-steps"]}, {"contest_title": "\u7b2c 272 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 272", "contest_title_slug": "weekly-contest-272", "contest_id": 516, "contest_start_time": 1639881000, "contest_duration": 5400, "user_num": 4698, "question_slugs": ["find-first-palindromic-string-in-the-array", "adding-spaces-to-a-string", "number-of-smooth-descent-periods-of-a-stock", "minimum-operations-to-make-the-array-k-increasing"]}, {"contest_title": "\u7b2c 273 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 273", "contest_title_slug": "weekly-contest-273", "contest_id": 518, "contest_start_time": 1640485800, "contest_duration": 5400, "user_num": 4368, "question_slugs": ["a-number-after-a-double-reversal", "execution-of-all-suffix-instructions-staying-in-a-grid", "intervals-between-identical-elements", "recover-the-original-array"]}, {"contest_title": "\u7b2c 274 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 274", "contest_title_slug": "weekly-contest-274", "contest_id": 522, "contest_start_time": 1641090600, "contest_duration": 5400, "user_num": 4109, "question_slugs": ["check-if-all-as-appears-before-all-bs", "number-of-laser-beams-in-a-bank", "destroying-asteroids", "maximum-employees-to-be-invited-to-a-meeting"]}, {"contest_title": "\u7b2c 275 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 275", "contest_title_slug": "weekly-contest-275", "contest_id": 524, "contest_start_time": 1641695400, "contest_duration": 5400, "user_num": 4787, "question_slugs": ["check-if-every-row-and-column-contains-all-numbers", "minimum-swaps-to-group-all-1s-together-ii", "count-words-obtained-after-adding-a-letter", "earliest-possible-day-of-full-bloom"]}, {"contest_title": "\u7b2c 276 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 276", "contest_title_slug": "weekly-contest-276", "contest_id": 528, "contest_start_time": 1642300200, "contest_duration": 5400, "user_num": 5244, "question_slugs": ["divide-a-string-into-groups-of-size-k", "minimum-moves-to-reach-target-score", "solving-questions-with-brainpower", "maximum-running-time-of-n-computers"]}, {"contest_title": "\u7b2c 277 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 277", "contest_title_slug": "weekly-contest-277", "contest_id": 530, "contest_start_time": 1642905000, "contest_duration": 5400, "user_num": 5060, "question_slugs": ["count-elements-with-strictly-smaller-and-greater-elements", "rearrange-array-elements-by-sign", "find-all-lonely-numbers-in-the-array", "maximum-good-people-based-on-statements"]}, {"contest_title": "\u7b2c 278 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 278", "contest_title_slug": "weekly-contest-278", "contest_id": 534, "contest_start_time": 1643509800, "contest_duration": 5400, "user_num": 4643, "question_slugs": ["keep-multiplying-found-values-by-two", "all-divisions-with-the-highest-score-of-a-binary-array", "find-substring-with-given-hash-value", "groups-of-strings"]}, {"contest_title": "\u7b2c 279 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 279", "contest_title_slug": "weekly-contest-279", "contest_id": 536, "contest_start_time": 1644114600, "contest_duration": 5400, "user_num": 4132, "question_slugs": ["sort-even-and-odd-indices-independently", "smallest-value-of-the-rearranged-number", "design-bitset", "minimum-time-to-remove-all-cars-containing-illegal-goods"]}, {"contest_title": "\u7b2c 280 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 280", "contest_title_slug": "weekly-contest-280", "contest_id": 540, "contest_start_time": 1644719400, "contest_duration": 5400, "user_num": 5834, "question_slugs": ["count-operations-to-obtain-zero", "minimum-operations-to-make-the-array-alternating", "removing-minimum-number-of-magic-beans", "maximum-and-sum-of-array"]}, {"contest_title": "\u7b2c 281 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 281", "contest_title_slug": "weekly-contest-281", "contest_id": 542, "contest_start_time": 1645324200, "contest_duration": 6000, "user_num": 6005, "question_slugs": ["count-integers-with-even-digit-sum", "merge-nodes-in-between-zeros", "construct-string-with-repeat-limit", "count-array-pairs-divisible-by-k"]}, {"contest_title": "\u7b2c 282 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 282", "contest_title_slug": "weekly-contest-282", "contest_id": 546, "contest_start_time": 1645929000, "contest_duration": 5400, "user_num": 7164, "question_slugs": ["counting-words-with-a-given-prefix", "minimum-number-of-steps-to-make-two-strings-anagram-ii", "minimum-time-to-complete-trips", "minimum-time-to-finish-the-race"]}, {"contest_title": "\u7b2c 283 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 283", "contest_title_slug": "weekly-contest-283", "contest_id": 551, "contest_start_time": 1646533800, "contest_duration": 5400, "user_num": 7817, "question_slugs": ["cells-in-a-range-on-an-excel-sheet", "append-k-integers-with-minimal-sum", "create-binary-tree-from-descriptions", "replace-non-coprime-numbers-in-array"]}, {"contest_title": "\u7b2c 284 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 284", "contest_title_slug": "weekly-contest-284", "contest_id": 555, "contest_start_time": 1647138600, "contest_duration": 5400, "user_num": 8483, "question_slugs": ["find-all-k-distant-indices-in-an-array", "count-artifacts-that-can-be-extracted", "maximize-the-topmost-element-after-k-moves", "minimum-weighted-subgraph-with-the-required-paths"]}, {"contest_title": "\u7b2c 285 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 285", "contest_title_slug": "weekly-contest-285", "contest_id": 558, "contest_start_time": 1647743400, "contest_duration": 5400, "user_num": 7501, "question_slugs": ["count-hills-and-valleys-in-an-array", "count-collisions-on-a-road", "maximum-points-in-an-archery-competition", "longest-substring-of-one-repeating-character"]}, {"contest_title": "\u7b2c 286 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 286", "contest_title_slug": "weekly-contest-286", "contest_id": 564, "contest_start_time": 1648348200, "contest_duration": 5400, "user_num": 7248, "question_slugs": ["find-the-difference-of-two-arrays", "minimum-deletions-to-make-array-beautiful", "find-palindrome-with-fixed-length", "maximum-value-of-k-coins-from-piles"]}, {"contest_title": "\u7b2c 287 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 287", "contest_title_slug": "weekly-contest-287", "contest_id": 569, "contest_start_time": 1648953000, "contest_duration": 5400, "user_num": 6811, "question_slugs": ["minimum-number-of-operations-to-convert-time", "find-players-with-zero-or-one-losses", "maximum-candies-allocated-to-k-children", "encrypt-and-decrypt-strings"]}, {"contest_title": "\u7b2c 288 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 288", "contest_title_slug": "weekly-contest-288", "contest_id": 573, "contest_start_time": 1649557800, "contest_duration": 5400, "user_num": 6926, "question_slugs": ["largest-number-after-digit-swaps-by-parity", "minimize-result-by-adding-parentheses-to-expression", "maximum-product-after-k-increments", "maximum-total-beauty-of-the-gardens"]}, {"contest_title": "\u7b2c 289 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 289", "contest_title_slug": "weekly-contest-289", "contest_id": 576, "contest_start_time": 1650162600, "contest_duration": 5400, "user_num": 7293, "question_slugs": ["calculate-digit-sum-of-a-string", "minimum-rounds-to-complete-all-tasks", "maximum-trailing-zeros-in-a-cornered-path", "longest-path-with-different-adjacent-characters"]}, {"contest_title": "\u7b2c 290 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 290", "contest_title_slug": "weekly-contest-290", "contest_id": 582, "contest_start_time": 1650767400, "contest_duration": 5400, "user_num": 6275, "question_slugs": ["intersection-of-multiple-arrays", "count-lattice-points-inside-a-circle", "count-number-of-rectangles-containing-each-point", "number-of-flowers-in-full-bloom"]}, {"contest_title": "\u7b2c 291 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 291", "contest_title_slug": "weekly-contest-291", "contest_id": 587, "contest_start_time": 1651372200, "contest_duration": 5400, "user_num": 6574, "question_slugs": ["remove-digit-from-number-to-maximize-result", "minimum-consecutive-cards-to-pick-up", "k-divisible-elements-subarrays", "total-appeal-of-a-string"]}, {"contest_title": "\u7b2c 292 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 292", "contest_title_slug": "weekly-contest-292", "contest_id": 591, "contest_start_time": 1651977000, "contest_duration": 5400, "user_num": 6884, "question_slugs": ["largest-3-same-digit-number-in-string", "count-nodes-equal-to-average-of-subtree", "count-number-of-texts", "check-if-there-is-a-valid-parentheses-string-path"]}, {"contest_title": "\u7b2c 293 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 293", "contest_title_slug": "weekly-contest-293", "contest_id": 593, "contest_start_time": 1652581800, "contest_duration": 5400, "user_num": 7357, "question_slugs": ["find-resultant-array-after-removing-anagrams", "maximum-consecutive-floors-without-special-floors", "largest-combination-with-bitwise-and-greater-than-zero", "count-integers-in-intervals"]}, {"contest_title": "\u7b2c 294 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 294", "contest_title_slug": "weekly-contest-294", "contest_id": 599, "contest_start_time": 1653186600, "contest_duration": 5400, "user_num": 6640, "question_slugs": ["percentage-of-letter-in-string", "maximum-bags-with-full-capacity-of-rocks", "minimum-lines-to-represent-a-line-chart", "sum-of-total-strength-of-wizards"]}, {"contest_title": "\u7b2c 295 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 295", "contest_title_slug": "weekly-contest-295", "contest_id": 605, "contest_start_time": 1653791400, "contest_duration": 5400, "user_num": 6447, "question_slugs": ["rearrange-characters-to-make-target-string", "apply-discount-to-prices", "steps-to-make-array-non-decreasing", "minimum-obstacle-removal-to-reach-corner"]}, {"contest_title": "\u7b2c 296 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 296", "contest_title_slug": "weekly-contest-296", "contest_id": 609, "contest_start_time": 1654396200, "contest_duration": 5400, "user_num": 5721, "question_slugs": ["min-max-game", "partition-array-such-that-maximum-difference-is-k", "replace-elements-in-an-array", "design-a-text-editor"]}, {"contest_title": "\u7b2c 297 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 297", "contest_title_slug": "weekly-contest-297", "contest_id": 611, "contest_start_time": 1655001000, "contest_duration": 5400, "user_num": 5915, "question_slugs": ["calculate-amount-paid-in-taxes", "minimum-path-cost-in-a-grid", "fair-distribution-of-cookies", "naming-a-company"]}, {"contest_title": "\u7b2c 298 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 298", "contest_title_slug": "weekly-contest-298", "contest_id": 615, "contest_start_time": 1655605800, "contest_duration": 5400, "user_num": 6228, "question_slugs": ["greatest-english-letter-in-upper-and-lower-case", "sum-of-numbers-with-units-digit-k", "longest-binary-subsequence-less-than-or-equal-to-k", "selling-pieces-of-wood"]}, {"contest_title": "\u7b2c 299 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 299", "contest_title_slug": "weekly-contest-299", "contest_id": 618, "contest_start_time": 1656210600, "contest_duration": 5400, "user_num": 6108, "question_slugs": ["check-if-matrix-is-x-matrix", "count-number-of-ways-to-place-houses", "maximum-score-of-spliced-array", "minimum-score-after-removals-on-a-tree"]}, {"contest_title": "\u7b2c 300 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 300", "contest_title_slug": "weekly-contest-300", "contest_id": 647, "contest_start_time": 1656815400, "contest_duration": 5400, "user_num": 6792, "question_slugs": ["decode-the-message", "spiral-matrix-iv", "number-of-people-aware-of-a-secret", "number-of-increasing-paths-in-a-grid"]}, {"contest_title": "\u7b2c 301 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 301", "contest_title_slug": "weekly-contest-301", "contest_id": 649, "contest_start_time": 1657420200, "contest_duration": 5400, "user_num": 7133, "question_slugs": ["minimum-amount-of-time-to-fill-cups", "smallest-number-in-infinite-set", "move-pieces-to-obtain-a-string", "count-the-number-of-ideal-arrays"]}, {"contest_title": "\u7b2c 302 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 302", "contest_title_slug": "weekly-contest-302", "contest_id": 653, "contest_start_time": 1658025000, "contest_duration": 5400, "user_num": 7092, "question_slugs": ["maximum-number-of-pairs-in-array", "max-sum-of-a-pair-with-equal-sum-of-digits", "query-kth-smallest-trimmed-number", "minimum-deletions-to-make-array-divisible"]}, {"contest_title": "\u7b2c 303 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 303", "contest_title_slug": "weekly-contest-303", "contest_id": 655, "contest_start_time": 1658629800, "contest_duration": 5400, "user_num": 7032, "question_slugs": ["first-letter-to-appear-twice", "equal-row-and-column-pairs", "design-a-food-rating-system", "number-of-excellent-pairs"]}, {"contest_title": "\u7b2c 304 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 304", "contest_title_slug": "weekly-contest-304", "contest_id": 659, "contest_start_time": 1659234600, "contest_duration": 5400, "user_num": 7372, "question_slugs": ["make-array-zero-by-subtracting-equal-amounts", "maximum-number-of-groups-entering-a-competition", "find-closest-node-to-given-two-nodes", "longest-cycle-in-a-graph"]}, {"contest_title": "\u7b2c 305 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 305", "contest_title_slug": "weekly-contest-305", "contest_id": 663, "contest_start_time": 1659839400, "contest_duration": 5400, "user_num": 7465, "question_slugs": ["number-of-arithmetic-triplets", "reachable-nodes-with-restrictions", "check-if-there-is-a-valid-partition-for-the-array", "longest-ideal-subsequence"]}, {"contest_title": "\u7b2c 306 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 306", "contest_title_slug": "weekly-contest-306", "contest_id": 669, "contest_start_time": 1660444200, "contest_duration": 5400, "user_num": 7500, "question_slugs": ["largest-local-values-in-a-matrix", "node-with-highest-edge-score", "construct-smallest-number-from-di-string", "count-special-integers"]}, {"contest_title": "\u7b2c 307 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 307", "contest_title_slug": "weekly-contest-307", "contest_id": 671, "contest_start_time": 1661049000, "contest_duration": 5400, "user_num": 7064, "question_slugs": ["minimum-hours-of-training-to-win-a-competition", "largest-palindromic-number", "amount-of-time-for-binary-tree-to-be-infected", "find-the-k-sum-of-an-array"]}, {"contest_title": "\u7b2c 308 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 308", "contest_title_slug": "weekly-contest-308", "contest_id": 689, "contest_start_time": 1661653800, "contest_duration": 5400, "user_num": 6394, "question_slugs": ["longest-subsequence-with-limited-sum", "removing-stars-from-a-string", "minimum-amount-of-time-to-collect-garbage", "build-a-matrix-with-conditions"]}, {"contest_title": "\u7b2c 309 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 309", "contest_title_slug": "weekly-contest-309", "contest_id": 693, "contest_start_time": 1662258600, "contest_duration": 5400, "user_num": 7972, "question_slugs": ["check-distances-between-same-letters", "number-of-ways-to-reach-a-position-after-exactly-k-steps", "longest-nice-subarray", "meeting-rooms-iii"]}, {"contest_title": "\u7b2c 310 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 310", "contest_title_slug": "weekly-contest-310", "contest_id": 704, "contest_start_time": 1662863400, "contest_duration": 5400, "user_num": 6081, "question_slugs": ["most-frequent-even-element", "optimal-partition-of-string", "divide-intervals-into-minimum-number-of-groups", "longest-increasing-subsequence-ii"]}, {"contest_title": "\u7b2c 311 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 311", "contest_title_slug": "weekly-contest-311", "contest_id": 741, "contest_start_time": 1663468200, "contest_duration": 5400, "user_num": 6710, "question_slugs": ["smallest-even-multiple", "length-of-the-longest-alphabetical-continuous-substring", "reverse-odd-levels-of-binary-tree", "sum-of-prefix-scores-of-strings"]}, {"contest_title": "\u7b2c 312 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 312", "contest_title_slug": "weekly-contest-312", "contest_id": 746, "contest_start_time": 1664073000, "contest_duration": 5400, "user_num": 6638, "question_slugs": ["sort-the-people", "longest-subarray-with-maximum-bitwise-and", "find-all-good-indices", "number-of-good-paths"]}, {"contest_title": "\u7b2c 313 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 313", "contest_title_slug": "weekly-contest-313", "contest_id": 750, "contest_start_time": 1664677800, "contest_duration": 5400, "user_num": 5445, "question_slugs": ["number-of-common-factors", "maximum-sum-of-an-hourglass", "minimize-xor", "maximum-deletions-on-a-string"]}, {"contest_title": "\u7b2c 314 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 314", "contest_title_slug": "weekly-contest-314", "contest_id": 756, "contest_start_time": 1665282600, "contest_duration": 5400, "user_num": 4838, "question_slugs": ["the-employee-that-worked-on-the-longest-task", "find-the-original-array-of-prefix-xor", "using-a-robot-to-print-the-lexicographically-smallest-string", "paths-in-matrix-whose-sum-is-divisible-by-k"]}, {"contest_title": "\u7b2c 315 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 315", "contest_title_slug": "weekly-contest-315", "contest_id": 759, "contest_start_time": 1665887400, "contest_duration": 5400, "user_num": 6490, "question_slugs": ["largest-positive-integer-that-exists-with-its-negative", "count-number-of-distinct-integers-after-reverse-operations", "sum-of-number-and-its-reverse", "count-subarrays-with-fixed-bounds"]}, {"contest_title": "\u7b2c 316 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 316", "contest_title_slug": "weekly-contest-316", "contest_id": 764, "contest_start_time": 1666492200, "contest_duration": 5400, "user_num": 6387, "question_slugs": ["determine-if-two-events-have-conflict", "number-of-subarrays-with-gcd-equal-to-k", "minimum-cost-to-make-array-equal", "minimum-number-of-operations-to-make-arrays-similar"]}, {"contest_title": "\u7b2c 317 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 317", "contest_title_slug": "weekly-contest-317", "contest_id": 767, "contest_start_time": 1667097000, "contest_duration": 5400, "user_num": 5660, "question_slugs": ["average-value-of-even-numbers-that-are-divisible-by-three", "most-popular-video-creator", "minimum-addition-to-make-integer-beautiful", "height-of-binary-tree-after-subtree-removal-queries"]}, {"contest_title": "\u7b2c 318 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 318", "contest_title_slug": "weekly-contest-318", "contest_id": 771, "contest_start_time": 1667701800, "contest_duration": 5400, "user_num": 5670, "question_slugs": ["apply-operations-to-an-array", "maximum-sum-of-distinct-subarrays-with-length-k", "total-cost-to-hire-k-workers", "minimum-total-distance-traveled"]}, {"contest_title": "\u7b2c 319 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 319", "contest_title_slug": "weekly-contest-319", "contest_id": 773, "contest_start_time": 1668306600, "contest_duration": 5400, "user_num": 6175, "question_slugs": ["convert-the-temperature", "number-of-subarrays-with-lcm-equal-to-k", "minimum-number-of-operations-to-sort-a-binary-tree-by-level", "maximum-number-of-non-overlapping-palindrome-substrings"]}, {"contest_title": "\u7b2c 320 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 320", "contest_title_slug": "weekly-contest-320", "contest_id": 777, "contest_start_time": 1668911400, "contest_duration": 5400, "user_num": 5678, "question_slugs": ["number-of-unequal-triplets-in-array", "closest-nodes-queries-in-a-binary-search-tree", "minimum-fuel-cost-to-report-to-the-capital", "number-of-beautiful-partitions"]}, {"contest_title": "\u7b2c 321 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 321", "contest_title_slug": "weekly-contest-321", "contest_id": 779, "contest_start_time": 1669516200, "contest_duration": 5400, "user_num": 5115, "question_slugs": ["find-the-pivot-integer", "append-characters-to-string-to-make-subsequence", "remove-nodes-from-linked-list", "count-subarrays-with-median-k"]}, {"contest_title": "\u7b2c 322 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 322", "contest_title_slug": "weekly-contest-322", "contest_id": 783, "contest_start_time": 1670121000, "contest_duration": 5400, "user_num": 5085, "question_slugs": ["circular-sentence", "divide-players-into-teams-of-equal-skill", "minimum-score-of-a-path-between-two-cities", "divide-nodes-into-the-maximum-number-of-groups"]}, {"contest_title": "\u7b2c 323 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 323", "contest_title_slug": "weekly-contest-323", "contest_id": 785, "contest_start_time": 1670725800, "contest_duration": 5400, "user_num": 4671, "question_slugs": ["delete-greatest-value-in-each-row", "longest-square-streak-in-an-array", "design-memory-allocator", "maximum-number-of-points-from-grid-queries"]}, {"contest_title": "\u7b2c 324 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 324", "contest_title_slug": "weekly-contest-324", "contest_id": 790, "contest_start_time": 1671330600, "contest_duration": 5400, "user_num": 4167, "question_slugs": ["count-pairs-of-similar-strings", "smallest-value-after-replacing-with-sum-of-prime-factors", "add-edges-to-make-degrees-of-all-nodes-even", "cycle-length-queries-in-a-tree"]}, {"contest_title": "\u7b2c 325 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 325", "contest_title_slug": "weekly-contest-325", "contest_id": 795, "contest_start_time": 1671935400, "contest_duration": 5400, "user_num": 3530, "question_slugs": ["shortest-distance-to-target-string-in-a-circular-array", "take-k-of-each-character-from-left-and-right", "maximum-tastiness-of-candy-basket", "number-of-great-partitions"]}, {"contest_title": "\u7b2c 326 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 326", "contest_title_slug": "weekly-contest-326", "contest_id": 799, "contest_start_time": 1672540200, "contest_duration": 5400, "user_num": 3873, "question_slugs": ["count-the-digits-that-divide-a-number", "distinct-prime-factors-of-product-of-array", "partition-string-into-substrings-with-values-at-most-k", "closest-prime-numbers-in-range"]}, {"contest_title": "\u7b2c 327 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 327", "contest_title_slug": "weekly-contest-327", "contest_id": 801, "contest_start_time": 1673145000, "contest_duration": 5400, "user_num": 4518, "question_slugs": ["maximum-count-of-positive-integer-and-negative-integer", "maximal-score-after-applying-k-operations", "make-number-of-distinct-characters-equal", "time-to-cross-a-bridge"]}, {"contest_title": "\u7b2c 328 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 328", "contest_title_slug": "weekly-contest-328", "contest_id": 805, "contest_start_time": 1673749800, "contest_duration": 5400, "user_num": 4776, "question_slugs": ["difference-between-element-sum-and-digit-sum-of-an-array", "increment-submatrices-by-one", "count-the-number-of-good-subarrays", "difference-between-maximum-and-minimum-price-sum"]}, {"contest_title": "\u7b2c 329 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 329", "contest_title_slug": "weekly-contest-329", "contest_id": 807, "contest_start_time": 1674354600, "contest_duration": 5400, "user_num": 2591, "question_slugs": ["alternating-digit-sum", "sort-the-students-by-their-kth-score", "apply-bitwise-operations-to-make-strings-equal", "minimum-cost-to-split-an-array"]}, {"contest_title": "\u7b2c 330 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 330", "contest_title_slug": "weekly-contest-330", "contest_id": 811, "contest_start_time": 1674959400, "contest_duration": 5400, "user_num": 3399, "question_slugs": ["count-distinct-numbers-on-board", "count-collisions-of-monkeys-on-a-polygon", "put-marbles-in-bags", "count-increasing-quadruplets"]}, {"contest_title": "\u7b2c 331 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 331", "contest_title_slug": "weekly-contest-331", "contest_id": 813, "contest_start_time": 1675564200, "contest_duration": 5400, "user_num": 4256, "question_slugs": ["take-gifts-from-the-richest-pile", "count-vowel-strings-in-ranges", "house-robber-iv", "rearranging-fruits"]}, {"contest_title": "\u7b2c 332 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 332", "contest_title_slug": "weekly-contest-332", "contest_id": 817, "contest_start_time": 1676169000, "contest_duration": 5400, "user_num": 4547, "question_slugs": ["find-the-array-concatenation-value", "count-the-number-of-fair-pairs", "substring-xor-queries", "subsequence-with-the-minimum-score"]}, {"contest_title": "\u7b2c 333 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 333", "contest_title_slug": "weekly-contest-333", "contest_id": 819, "contest_start_time": 1676773800, "contest_duration": 5400, "user_num": 4969, "question_slugs": ["merge-two-2d-arrays-by-summing-values", "minimum-operations-to-reduce-an-integer-to-0", "count-the-number-of-square-free-subsets", "find-the-string-with-lcp"]}, {"contest_title": "\u7b2c 334 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 334", "contest_title_slug": "weekly-contest-334", "contest_id": 823, "contest_start_time": 1677378600, "contest_duration": 5400, "user_num": 5501, "question_slugs": ["left-and-right-sum-differences", "find-the-divisibility-array-of-a-string", "find-the-maximum-number-of-marked-indices", "minimum-time-to-visit-a-cell-in-a-grid"]}, {"contest_title": "\u7b2c 335 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 335", "contest_title_slug": "weekly-contest-335", "contest_id": 825, "contest_start_time": 1677983400, "contest_duration": 5400, "user_num": 6019, "question_slugs": ["pass-the-pillow", "kth-largest-sum-in-a-binary-tree", "split-the-array-to-make-coprime-products", "number-of-ways-to-earn-points"]}, {"contest_title": "\u7b2c 336 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 336", "contest_title_slug": "weekly-contest-336", "contest_id": 833, "contest_start_time": 1678588200, "contest_duration": 5400, "user_num": 5897, "question_slugs": ["count-the-number-of-vowel-strings-in-range", "rearrange-array-to-maximize-prefix-score", "count-the-number-of-beautiful-subarrays", "minimum-time-to-complete-all-tasks"]}, {"contest_title": "\u7b2c 337 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 337", "contest_title_slug": "weekly-contest-337", "contest_id": 839, "contest_start_time": 1679193000, "contest_duration": 5400, "user_num": 5628, "question_slugs": ["number-of-even-and-odd-bits", "check-knight-tour-configuration", "the-number-of-beautiful-subsets", "smallest-missing-non-negative-integer-after-operations"]}, {"contest_title": "\u7b2c 338 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 338", "contest_title_slug": "weekly-contest-338", "contest_id": 843, "contest_start_time": 1679797800, "contest_duration": 5400, "user_num": 5594, "question_slugs": ["k-items-with-the-maximum-sum", "prime-subtraction-operation", "minimum-operations-to-make-all-array-elements-equal", "collect-coins-in-a-tree"]}, {"contest_title": "\u7b2c 339 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 339", "contest_title_slug": "weekly-contest-339", "contest_id": 850, "contest_start_time": 1680402600, "contest_duration": 5400, "user_num": 5180, "question_slugs": ["find-the-longest-balanced-substring-of-a-binary-string", "convert-an-array-into-a-2d-array-with-conditions", "mice-and-cheese", "minimum-reverse-operations"]}, {"contest_title": "\u7b2c 340 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 340", "contest_title_slug": "weekly-contest-340", "contest_id": 854, "contest_start_time": 1681007400, "contest_duration": 5400, "user_num": 4937, "question_slugs": ["prime-in-diagonal", "sum-of-distances", "minimize-the-maximum-difference-of-pairs", "minimum-number-of-visited-cells-in-a-grid"]}, {"contest_title": "\u7b2c 341 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 341", "contest_title_slug": "weekly-contest-341", "contest_id": 856, "contest_start_time": 1681612200, "contest_duration": 5400, "user_num": 4792, "question_slugs": ["row-with-maximum-ones", "find-the-maximum-divisibility-score", "minimum-additions-to-make-valid-string", "minimize-the-total-price-of-the-trips"]}, {"contest_title": "\u7b2c 342 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 342", "contest_title_slug": "weekly-contest-342", "contest_id": 860, "contest_start_time": 1682217000, "contest_duration": 5400, "user_num": 3702, "question_slugs": ["calculate-delayed-arrival-time", "sum-multiples", "sliding-subarray-beauty", "minimum-number-of-operations-to-make-all-array-elements-equal-to-1"]}, {"contest_title": "\u7b2c 343 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 343", "contest_title_slug": "weekly-contest-343", "contest_id": 863, "contest_start_time": 1682821800, "contest_duration": 5400, "user_num": 3313, "question_slugs": ["determine-the-winner-of-a-bowling-game", "first-completely-painted-row-or-column", "minimum-cost-of-a-path-with-special-roads", "lexicographically-smallest-beautiful-string"]}, {"contest_title": "\u7b2c 344 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 344", "contest_title_slug": "weekly-contest-344", "contest_id": 867, "contest_start_time": 1683426600, "contest_duration": 5400, "user_num": 3986, "question_slugs": ["find-the-distinct-difference-array", "frequency-tracker", "number-of-adjacent-elements-with-the-same-color", "make-costs-of-paths-equal-in-a-binary-tree"]}, {"contest_title": "\u7b2c 345 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 345", "contest_title_slug": "weekly-contest-345", "contest_id": 870, "contest_start_time": 1684031400, "contest_duration": 5400, "user_num": 4165, "question_slugs": ["find-the-losers-of-the-circular-game", "neighboring-bitwise-xor", "maximum-number-of-moves-in-a-grid", "count-the-number-of-complete-components"]}, {"contest_title": "\u7b2c 346 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 346", "contest_title_slug": "weekly-contest-346", "contest_id": 874, "contest_start_time": 1684636200, "contest_duration": 5400, "user_num": 4035, "question_slugs": ["minimum-string-length-after-removing-substrings", "lexicographically-smallest-palindrome", "find-the-punishment-number-of-an-integer", "modify-graph-edge-weights"]}, {"contest_title": "\u7b2c 347 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 347", "contest_title_slug": "weekly-contest-347", "contest_id": 876, "contest_start_time": 1685241000, "contest_duration": 5400, "user_num": 3836, "question_slugs": ["remove-trailing-zeros-from-a-string", "difference-of-number-of-distinct-values-on-diagonals", "minimum-cost-to-make-all-characters-equal", "maximum-strictly-increasing-cells-in-a-matrix"]}, {"contest_title": "\u7b2c 348 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 348", "contest_title_slug": "weekly-contest-348", "contest_id": 880, "contest_start_time": 1685845800, "contest_duration": 5400, "user_num": 3909, "question_slugs": ["minimize-string-length", "semi-ordered-permutation", "sum-of-matrix-after-queries", "count-of-integers"]}, {"contest_title": "\u7b2c 349 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 349", "contest_title_slug": "weekly-contest-349", "contest_id": 882, "contest_start_time": 1686450600, "contest_duration": 5400, "user_num": 3714, "question_slugs": ["neither-minimum-nor-maximum", "lexicographically-smallest-string-after-substring-operation", "collecting-chocolates", "maximum-sum-queries"]}, {"contest_title": "\u7b2c 350 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 350", "contest_title_slug": "weekly-contest-350", "contest_id": 886, "contest_start_time": 1687055400, "contest_duration": 5400, "user_num": 3580, "question_slugs": ["total-distance-traveled", "find-the-value-of-the-partition", "special-permutations", "painting-the-walls"]}, {"contest_title": "\u7b2c 351 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 351", "contest_title_slug": "weekly-contest-351", "contest_id": 888, "contest_start_time": 1687660200, "contest_duration": 5400, "user_num": 2471, "question_slugs": ["number-of-beautiful-pairs", "minimum-operations-to-make-the-integer-zero", "ways-to-split-array-into-good-subarrays", "robot-collisions"]}, {"contest_title": "\u7b2c 352 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 352", "contest_title_slug": "weekly-contest-352", "contest_id": 892, "contest_start_time": 1688265000, "contest_duration": 5400, "user_num": 3437, "question_slugs": ["longest-even-odd-subarray-with-threshold", "prime-pairs-with-target-sum", "continuous-subarrays", "sum-of-imbalance-numbers-of-all-subarrays"]}, {"contest_title": "\u7b2c 353 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 353", "contest_title_slug": "weekly-contest-353", "contest_id": 894, "contest_start_time": 1688869800, "contest_duration": 5400, "user_num": 4113, "question_slugs": ["find-the-maximum-achievable-number", "maximum-number-of-jumps-to-reach-the-last-index", "longest-non-decreasing-subarray-from-two-arrays", "apply-operations-to-make-all-array-elements-equal-to-zero"]}, {"contest_title": "\u7b2c 354 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 354", "contest_title_slug": "weekly-contest-354", "contest_id": 898, "contest_start_time": 1689474600, "contest_duration": 5400, "user_num": 3957, "question_slugs": ["sum-of-squares-of-special-elements", "maximum-beauty-of-an-array-after-applying-operation", "minimum-index-of-a-valid-split", "length-of-the-longest-valid-substring"]}, {"contest_title": "\u7b2c 355 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 355", "contest_title_slug": "weekly-contest-355", "contest_id": 900, "contest_start_time": 1690079400, "contest_duration": 5400, "user_num": 4112, "question_slugs": ["split-strings-by-separator", "largest-element-in-an-array-after-merge-operations", "maximum-number-of-groups-with-increasing-length", "count-paths-that-can-form-a-palindrome-in-a-tree"]}, {"contest_title": "\u7b2c 356 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 356", "contest_title_slug": "weekly-contest-356", "contest_id": 904, "contest_start_time": 1690684200, "contest_duration": 5400, "user_num": 4082, "question_slugs": ["number-of-employees-who-met-the-target", "count-complete-subarrays-in-an-array", "shortest-string-that-contains-three-strings", "count-stepping-numbers-in-range"]}, {"contest_title": "\u7b2c 357 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 357", "contest_title_slug": "weekly-contest-357", "contest_id": 906, "contest_start_time": 1691289000, "contest_duration": 5400, "user_num": 4265, "question_slugs": ["faulty-keyboard", "check-if-it-is-possible-to-split-array", "find-the-safest-path-in-a-grid", "maximum-elegance-of-a-k-length-subsequence"]}, {"contest_title": "\u7b2c 358 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 358", "contest_title_slug": "weekly-contest-358", "contest_id": 910, "contest_start_time": 1691893800, "contest_duration": 5400, "user_num": 4475, "question_slugs": ["max-pair-sum-in-an-array", "double-a-number-represented-as-a-linked-list", "minimum-absolute-difference-between-elements-with-constraint", "apply-operations-to-maximize-score"]}, {"contest_title": "\u7b2c 359 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 359", "contest_title_slug": "weekly-contest-359", "contest_id": 913, "contest_start_time": 1692498600, "contest_duration": 5400, "user_num": 4101, "question_slugs": ["check-if-a-string-is-an-acronym-of-words", "determine-the-minimum-sum-of-a-k-avoiding-array", "maximize-the-profit-as-the-salesman", "find-the-longest-equal-subarray"]}, {"contest_title": "\u7b2c 360 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 360", "contest_title_slug": "weekly-contest-360", "contest_id": 918, "contest_start_time": 1693103400, "contest_duration": 5400, "user_num": 4496, "question_slugs": ["furthest-point-from-origin", "find-the-minimum-possible-sum-of-a-beautiful-array", "minimum-operations-to-form-subsequence-with-target-sum", "maximize-value-of-function-in-a-ball-passing-game"]}, {"contest_title": "\u7b2c 361 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 361", "contest_title_slug": "weekly-contest-361", "contest_id": 920, "contest_start_time": 1693708200, "contest_duration": 5400, "user_num": 4170, "question_slugs": ["count-symmetric-integers", "minimum-operations-to-make-a-special-number", "count-of-interesting-subarrays", "minimum-edge-weight-equilibrium-queries-in-a-tree"]}, {"contest_title": "\u7b2c 362 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 362", "contest_title_slug": "weekly-contest-362", "contest_id": 924, "contest_start_time": 1694313000, "contest_duration": 5400, "user_num": 4800, "question_slugs": ["points-that-intersect-with-cars", "determine-if-a-cell-is-reachable-at-a-given-time", "minimum-moves-to-spread-stones-over-grid", "string-transformation"]}, {"contest_title": "\u7b2c 363 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 363", "contest_title_slug": "weekly-contest-363", "contest_id": 926, "contest_start_time": 1694917800, "contest_duration": 5400, "user_num": 4768, "question_slugs": ["sum-of-values-at-indices-with-k-set-bits", "happy-students", "maximum-number-of-alloys", "maximum-element-sum-of-a-complete-subset-of-indices"]}, {"contest_title": "\u7b2c 364 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 364", "contest_title_slug": "weekly-contest-364", "contest_id": 930, "contest_start_time": 1695522600, "contest_duration": 5400, "user_num": 4304, "question_slugs": ["maximum-odd-binary-number", "beautiful-towers-i", "beautiful-towers-ii", "count-valid-paths-in-a-tree"]}, {"contest_title": "\u7b2c 365 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 365", "contest_title_slug": "weekly-contest-365", "contest_id": 932, "contest_start_time": 1696127400, "contest_duration": 5400, "user_num": 2909, "question_slugs": ["maximum-value-of-an-ordered-triplet-i", "maximum-value-of-an-ordered-triplet-ii", "minimum-size-subarray-in-infinite-array", "count-visited-nodes-in-a-directed-graph"]}, {"contest_title": "\u7b2c 366 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 366", "contest_title_slug": "weekly-contest-366", "contest_id": 936, "contest_start_time": 1696732200, "contest_duration": 5400, "user_num": 2790, "question_slugs": ["divisible-and-non-divisible-sums-difference", "minimum-processing-time", "apply-operations-to-make-two-strings-equal", "apply-operations-on-array-to-maximize-sum-of-squares"]}, {"contest_title": "\u7b2c 367 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 367", "contest_title_slug": "weekly-contest-367", "contest_id": 938, "contest_start_time": 1697337000, "contest_duration": 5400, "user_num": 4317, "question_slugs": ["find-indices-with-index-and-value-difference-i", "shortest-and-lexicographically-smallest-beautiful-string", "find-indices-with-index-and-value-difference-ii", "construct-product-matrix"]}, {"contest_title": "\u7b2c 368 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 368", "contest_title_slug": "weekly-contest-368", "contest_id": 942, "contest_start_time": 1697941800, "contest_duration": 5400, "user_num": 5002, "question_slugs": ["minimum-sum-of-mountain-triplets-i", "minimum-sum-of-mountain-triplets-ii", "minimum-number-of-groups-to-create-a-valid-assignment", "minimum-changes-to-make-k-semi-palindromes"]}, {"contest_title": "\u7b2c 369 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 369", "contest_title_slug": "weekly-contest-369", "contest_id": 945, "contest_start_time": 1698546600, "contest_duration": 5400, "user_num": 4121, "question_slugs": ["find-the-k-or-of-an-array", "minimum-equal-sum-of-two-arrays-after-replacing-zeros", "minimum-increment-operations-to-make-array-beautiful", "maximum-points-after-collecting-coins-from-all-nodes"]}, {"contest_title": "\u7b2c 370 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 370", "contest_title_slug": "weekly-contest-370", "contest_id": 950, "contest_start_time": 1699151400, "contest_duration": 5400, "user_num": 3983, "question_slugs": ["find-champion-i", "find-champion-ii", "maximum-score-after-applying-operations-on-a-tree", "maximum-balanced-subsequence-sum"]}, {"contest_title": "\u7b2c 371 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 371", "contest_title_slug": "weekly-contest-371", "contest_id": 952, "contest_start_time": 1699756200, "contest_duration": 5400, "user_num": 3638, "question_slugs": ["maximum-strong-pair-xor-i", "high-access-employees", "minimum-operations-to-maximize-last-elements-in-arrays", "maximum-strong-pair-xor-ii"]}, {"contest_title": "\u7b2c 372 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 372", "contest_title_slug": "weekly-contest-372", "contest_id": 956, "contest_start_time": 1700361000, "contest_duration": 5400, "user_num": 3920, "question_slugs": ["make-three-strings-equal", "separate-black-and-white-balls", "maximum-xor-product", "find-building-where-alice-and-bob-can-meet"]}, {"contest_title": "\u7b2c 373 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 373", "contest_title_slug": "weekly-contest-373", "contest_id": 958, "contest_start_time": 1700965800, "contest_duration": 5400, "user_num": 3577, "question_slugs": ["matrix-similarity-after-cyclic-shifts", "count-beautiful-substrings-i", "make-lexicographically-smallest-array-by-swapping-elements", "count-beautiful-substrings-ii"]}, {"contest_title": "\u7b2c 374 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 374", "contest_title_slug": "weekly-contest-374", "contest_id": 962, "contest_start_time": 1701570600, "contest_duration": 5400, "user_num": 4053, "question_slugs": ["find-the-peaks", "minimum-number-of-coins-to-be-added", "count-complete-substrings", "count-the-number-of-infection-sequences"]}, {"contest_title": "\u7b2c 375 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 375", "contest_title_slug": "weekly-contest-375", "contest_id": 964, "contest_start_time": 1702175400, "contest_duration": 5400, "user_num": 3518, "question_slugs": ["count-tested-devices-after-test-operations", "double-modular-exponentiation", "count-subarrays-where-max-element-appears-at-least-k-times", "count-the-number-of-good-partitions"]}, {"contest_title": "\u7b2c 376 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 376", "contest_title_slug": "weekly-contest-376", "contest_id": 968, "contest_start_time": 1702780200, "contest_duration": 5400, "user_num": 3409, "question_slugs": ["find-missing-and-repeated-values", "divide-array-into-arrays-with-max-difference", "minimum-cost-to-make-array-equalindromic", "apply-operations-to-maximize-frequency-score"]}, {"contest_title": "\u7b2c 377 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 377", "contest_title_slug": "weekly-contest-377", "contest_id": 970, "contest_start_time": 1703385000, "contest_duration": 5400, "user_num": 3148, "question_slugs": ["minimum-number-game", "maximum-square-area-by-removing-fences-from-a-field", "minimum-cost-to-convert-string-i", "minimum-cost-to-convert-string-ii"]}, {"contest_title": "\u7b2c 378 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 378", "contest_title_slug": "weekly-contest-378", "contest_id": 974, "contest_start_time": 1703989800, "contest_duration": 5400, "user_num": 2747, "question_slugs": ["check-if-bitwise-or-has-trailing-zeros", "find-longest-special-substring-that-occurs-thrice-i", "find-longest-special-substring-that-occurs-thrice-ii", "palindrome-rearrangement-queries"]}, {"contest_title": "\u7b2c 379 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 379", "contest_title_slug": "weekly-contest-379", "contest_id": 976, "contest_start_time": 1704594600, "contest_duration": 5400, "user_num": 3117, "question_slugs": ["maximum-area-of-longest-diagonal-rectangle", "minimum-moves-to-capture-the-queen", "maximum-size-of-a-set-after-removals", "maximize-the-number-of-partitions-after-operations"]}, {"contest_title": "\u7b2c 380 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 380", "contest_title_slug": "weekly-contest-380", "contest_id": 980, "contest_start_time": 1705199400, "contest_duration": 5400, "user_num": 3325, "question_slugs": ["count-elements-with-maximum-frequency", "find-beautiful-indices-in-the-given-array-i", "maximum-number-that-sum-of-the-prices-is-less-than-or-equal-to-k", "find-beautiful-indices-in-the-given-array-ii"]}, {"contest_title": "\u7b2c 381 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 381", "contest_title_slug": "weekly-contest-381", "contest_id": 982, "contest_start_time": 1705804200, "contest_duration": 5400, "user_num": 3737, "question_slugs": ["minimum-number-of-pushes-to-type-word-i", "count-the-number-of-houses-at-a-certain-distance-i", "minimum-number-of-pushes-to-type-word-ii", "count-the-number-of-houses-at-a-certain-distance-ii"]}, {"contest_title": "\u7b2c 382 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 382", "contest_title_slug": "weekly-contest-382", "contest_id": 986, "contest_start_time": 1706409000, "contest_duration": 5400, "user_num": 3134, "question_slugs": ["number-of-changing-keys", "find-the-maximum-number-of-elements-in-subset", "alice-and-bob-playing-flower-game", "minimize-or-of-remaining-elements-using-operations"]}, {"contest_title": "\u7b2c 383 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 383", "contest_title_slug": "weekly-contest-383", "contest_id": 988, "contest_start_time": 1707013800, "contest_duration": 5400, "user_num": 2691, "question_slugs": ["ant-on-the-boundary", "minimum-time-to-revert-word-to-initial-state-i", "find-the-grid-of-region-average", "minimum-time-to-revert-word-to-initial-state-ii"]}, {"contest_title": "\u7b2c 384 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 384", "contest_title_slug": "weekly-contest-384", "contest_id": 992, "contest_start_time": 1707618600, "contest_duration": 5400, "user_num": 1652, "question_slugs": ["modify-the-matrix", "number-of-subarrays-that-match-a-pattern-i", "maximum-palindromes-after-operations", "number-of-subarrays-that-match-a-pattern-ii"]}, {"contest_title": "\u7b2c 385 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 385", "contest_title_slug": "weekly-contest-385", "contest_id": 994, "contest_start_time": 1708223400, "contest_duration": 5400, "user_num": 2382, "question_slugs": ["count-prefix-and-suffix-pairs-i", "find-the-length-of-the-longest-common-prefix", "most-frequent-prime", "count-prefix-and-suffix-pairs-ii"]}, {"contest_title": "\u7b2c 386 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 386", "contest_title_slug": "weekly-contest-386", "contest_id": 998, "contest_start_time": 1708828200, "contest_duration": 5400, "user_num": 2731, "question_slugs": ["split-the-array", "find-the-largest-area-of-square-inside-two-rectangles", "earliest-second-to-mark-indices-i", "earliest-second-to-mark-indices-ii"]}, {"contest_title": "\u7b2c 387 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 387", "contest_title_slug": "weekly-contest-387", "contest_id": 1000, "contest_start_time": 1709433000, "contest_duration": 5400, "user_num": 3694, "question_slugs": ["distribute-elements-into-two-arrays-i", "count-submatrices-with-top-left-element-and-sum-less-than-k", "minimum-operations-to-write-the-letter-y-on-a-grid", "distribute-elements-into-two-arrays-ii"]}, {"contest_title": "\u7b2c 388 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 388", "contest_title_slug": "weekly-contest-388", "contest_id": 1004, "contest_start_time": 1710037800, "contest_duration": 5400, "user_num": 4291, "question_slugs": ["apple-redistribution-into-boxes", "maximize-happiness-of-selected-children", "shortest-uncommon-substring-in-an-array", "maximum-strength-of-k-disjoint-subarrays"]}, {"contest_title": "\u7b2c 389 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 389", "contest_title_slug": "weekly-contest-389", "contest_id": 1006, "contest_start_time": 1710642600, "contest_duration": 5400, "user_num": 4561, "question_slugs": ["existence-of-a-substring-in-a-string-and-its-reverse", "count-substrings-starting-and-ending-with-given-character", "minimum-deletions-to-make-string-k-special", "minimum-moves-to-pick-k-ones"]}, {"contest_title": "\u7b2c 390 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 390", "contest_title_slug": "weekly-contest-390", "contest_id": 1011, "contest_start_time": 1711247400, "contest_duration": 5400, "user_num": 4817, "question_slugs": ["maximum-length-substring-with-two-occurrences", "apply-operations-to-make-sum-of-array-greater-than-or-equal-to-k", "most-frequent-ids", "longest-common-suffix-queries"]}, {"contest_title": "\u7b2c 391 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 391", "contest_title_slug": "weekly-contest-391", "contest_id": 1014, "contest_start_time": 1711852200, "contest_duration": 5400, "user_num": 4181, "question_slugs": ["harshad-number", "water-bottles-ii", "count-alternating-subarrays", "minimize-manhattan-distances"]}, {"contest_title": "\u7b2c 392 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 392", "contest_title_slug": "weekly-contest-392", "contest_id": 1018, "contest_start_time": 1712457000, "contest_duration": 5400, "user_num": 3194, "question_slugs": ["longest-strictly-increasing-or-strictly-decreasing-subarray", "lexicographically-smallest-string-after-operations-with-constraint", "minimum-operations-to-make-median-of-array-equal-to-k", "minimum-cost-walk-in-weighted-graph"]}, {"contest_title": "\u7b2c 393 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 393", "contest_title_slug": "weekly-contest-393", "contest_id": 1020, "contest_start_time": 1713061800, "contest_duration": 5400, "user_num": 4219, "question_slugs": ["latest-time-you-can-obtain-after-replacing-characters", "maximum-prime-difference", "kth-smallest-amount-with-single-denomination-combination", "minimum-sum-of-values-by-dividing-array"]}, {"contest_title": "\u7b2c 394 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 394", "contest_title_slug": "weekly-contest-394", "contest_id": 1024, "contest_start_time": 1713666600, "contest_duration": 5400, "user_num": 3958, "question_slugs": ["count-the-number-of-special-characters-i", "count-the-number-of-special-characters-ii", "minimum-number-of-operations-to-satisfy-conditions", "find-edges-in-shortest-paths"]}, {"contest_title": "\u7b2c 395 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 395", "contest_title_slug": "weekly-contest-395", "contest_id": 1026, "contest_start_time": 1714271400, "contest_duration": 5400, "user_num": 2969, "question_slugs": ["find-the-integer-added-to-array-i", "find-the-integer-added-to-array-ii", "minimum-array-end", "find-the-median-of-the-uniqueness-array"]}, {"contest_title": "\u7b2c 396 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 396", "contest_title_slug": "weekly-contest-396", "contest_id": 1030, "contest_start_time": 1714876200, "contest_duration": 5400, "user_num": 2932, "question_slugs": ["valid-word", "minimum-number-of-operations-to-make-word-k-periodic", "minimum-length-of-anagram-concatenation", "minimum-cost-to-equalize-array"]}, {"contest_title": "\u7b2c 397 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 397", "contest_title_slug": "weekly-contest-397", "contest_id": 1032, "contest_start_time": 1715481000, "contest_duration": 5400, "user_num": 3365, "question_slugs": ["permutation-difference-between-two-strings", "taking-maximum-energy-from-the-mystic-dungeon", "maximum-difference-score-in-a-grid", "find-the-minimum-cost-array-permutation"]}, {"contest_title": "\u7b2c 398 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 398", "contest_title_slug": "weekly-contest-398", "contest_id": 1036, "contest_start_time": 1716085800, "contest_duration": 5400, "user_num": 3606, "question_slugs": ["special-array-i", "special-array-ii", "sum-of-digit-differences-of-all-pairs", "find-number-of-ways-to-reach-the-k-th-stair"]}, {"contest_title": "\u7b2c 399 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 399", "contest_title_slug": "weekly-contest-399", "contest_id": 1038, "contest_start_time": 1716690600, "contest_duration": 5400, "user_num": 3424, "question_slugs": ["find-the-number-of-good-pairs-i", "string-compression-iii", "find-the-number-of-good-pairs-ii", "maximum-sum-of-subsequence-with-non-adjacent-elements"]}, {"contest_title": "\u7b2c 400 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 400", "contest_title_slug": "weekly-contest-400", "contest_id": 1043, "contest_start_time": 1717295400, "contest_duration": 5400, "user_num": 3534, "question_slugs": ["minimum-number-of-chairs-in-a-waiting-room", "count-days-without-meetings", "lexicographically-minimum-string-after-removing-stars", "find-subarray-with-bitwise-or-closest-to-k"]}, {"contest_title": "\u7b2c 401 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 401", "contest_title_slug": "weekly-contest-401", "contest_id": 1045, "contest_start_time": 1717900200, "contest_duration": 5400, "user_num": 3160, "question_slugs": ["find-the-child-who-has-the-ball-after-k-seconds", "find-the-n-th-value-after-k-seconds", "maximum-total-reward-using-operations-i", "maximum-total-reward-using-operations-ii"]}, {"contest_title": "\u7b2c 402 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 402", "contest_title_slug": "weekly-contest-402", "contest_id": 1049, "contest_start_time": 1718505000, "contest_duration": 5400, "user_num": 3283, "question_slugs": ["count-pairs-that-form-a-complete-day-i", "count-pairs-that-form-a-complete-day-ii", "maximum-total-damage-with-spell-casting", "peaks-in-array"]}, {"contest_title": "\u7b2c 403 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 403", "contest_title_slug": "weekly-contest-403", "contest_id": 1052, "contest_start_time": 1719109800, "contest_duration": 5400, "user_num": 3112, "question_slugs": ["minimum-average-of-smallest-and-largest-elements", "find-the-minimum-area-to-cover-all-ones-i", "maximize-total-cost-of-alternating-subarrays", "find-the-minimum-area-to-cover-all-ones-ii"]}, {"contest_title": "\u7b2c 404 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 404", "contest_title_slug": "weekly-contest-404", "contest_id": 1056, "contest_start_time": 1719714600, "contest_duration": 5400, "user_num": 3486, "question_slugs": ["maximum-height-of-a-triangle", "find-the-maximum-length-of-valid-subsequence-i", "find-the-maximum-length-of-valid-subsequence-ii", "find-minimum-diameter-after-merging-two-trees"]}, {"contest_title": "\u7b2c 405 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 405", "contest_title_slug": "weekly-contest-405", "contest_id": 1058, "contest_start_time": 1720319400, "contest_duration": 5400, "user_num": 3240, "question_slugs": ["find-the-encrypted-string", "generate-binary-strings-without-adjacent-zeros", "count-submatrices-with-equal-frequency-of-x-and-y", "construct-string-with-minimum-cost"]}, {"contest_title": "\u7b2c 406 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 406", "contest_title_slug": "weekly-contest-406", "contest_id": 1062, "contest_start_time": 1720924200, "contest_duration": 5400, "user_num": 3422, "question_slugs": ["lexicographically-smallest-string-after-a-swap", "delete-nodes-from-linked-list-present-in-array", "minimum-cost-for-cutting-cake-i", "minimum-cost-for-cutting-cake-ii"]}, {"contest_title": "\u7b2c 407 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 407", "contest_title_slug": "weekly-contest-407", "contest_id": 1064, "contest_start_time": 1721529000, "contest_duration": 5400, "user_num": 3268, "question_slugs": ["number-of-bit-changes-to-make-two-integers-equal", "vowels-game-in-a-string", "maximum-number-of-operations-to-move-ones-to-the-end", "minimum-operations-to-make-array-equal-to-target"]}, {"contest_title": "\u7b2c 408 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 408", "contest_title_slug": "weekly-contest-408", "contest_id": 1069, "contest_start_time": 1722133800, "contest_duration": 5400, "user_num": 3369, "question_slugs": ["find-if-digit-game-can-be-won", "find-the-count-of-numbers-which-are-not-special", "count-the-number-of-substrings-with-dominant-ones", "check-if-the-rectangle-corner-is-reachable"]}, {"contest_title": "\u7b2c 409 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 409", "contest_title_slug": "weekly-contest-409", "contest_id": 1071, "contest_start_time": 1722738600, "contest_duration": 5400, "user_num": 3643, "question_slugs": ["design-neighbor-sum-service", "shortest-distance-after-road-addition-queries-i", "shortest-distance-after-road-addition-queries-ii", "alternating-groups-iii"]}, {"contest_title": "\u7b2c 410 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 410", "contest_title_slug": "weekly-contest-410", "contest_id": 1075, "contest_start_time": 1723343400, "contest_duration": 5400, "user_num": 2987, "question_slugs": ["snake-in-matrix", "count-the-number-of-good-nodes", "find-the-count-of-monotonic-pairs-i", "find-the-count-of-monotonic-pairs-ii"]}, {"contest_title": "\u7b2c 411 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 411", "contest_title_slug": "weekly-contest-411", "contest_id": 1077, "contest_start_time": 1723948200, "contest_duration": 5400, "user_num": 3029, "question_slugs": ["count-substrings-that-satisfy-k-constraint-i", "maximum-energy-boost-from-two-drinks", "find-the-largest-palindrome-divisible-by-k", "count-substrings-that-satisfy-k-constraint-ii"]}, {"contest_title": "\u7b2c 412 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 412", "contest_title_slug": "weekly-contest-412", "contest_id": 1082, "contest_start_time": 1724553000, "contest_duration": 5400, "user_num": 2681, "question_slugs": ["final-array-state-after-k-multiplication-operations-i", "count-almost-equal-pairs-i", "final-array-state-after-k-multiplication-operations-ii", "count-almost-equal-pairs-ii"]}, {"contest_title": "\u7b2c 1 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 1", "contest_title_slug": "biweekly-contest-1", "contest_id": 70, "contest_start_time": 1559399400, "contest_duration": 7200, "user_num": 197, "question_slugs": ["fixed-point", "index-pairs-of-a-string", "campus-bikes-ii", "digit-count-in-range"]}, {"contest_title": "\u7b2c 2 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 2", "contest_title_slug": "biweekly-contest-2", "contest_id": 73, "contest_start_time": 1560609000, "contest_duration": 5400, "user_num": 256, "question_slugs": ["sum-of-digits-in-the-minimum-number", "high-five", "brace-expansion", "confusing-number-ii"]}, {"contest_title": "\u7b2c 3 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 3", "contest_title_slug": "biweekly-contest-3", "contest_id": 85, "contest_start_time": 1561818600, "contest_duration": 5400, "user_num": 312, "question_slugs": ["two-sum-less-than-k", "find-k-length-substrings-with-no-repeated-characters", "the-earliest-moment-when-everyone-become-friends", "path-with-maximum-minimum-value"]}, {"contest_title": "\u7b2c 4 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 4", "contest_title_slug": "biweekly-contest-4", "contest_id": 88, "contest_start_time": 1563028200, "contest_duration": 5400, "user_num": 438, "question_slugs": ["number-of-days-in-a-month", "remove-vowels-from-a-string", "maximum-average-subtree", "divide-array-into-increasing-sequences"]}, {"contest_title": "\u7b2c 5 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 5", "contest_title_slug": "biweekly-contest-5", "contest_id": 91, "contest_start_time": 1564237800, "contest_duration": 5400, "user_num": 495, "question_slugs": ["largest-unique-number", "armstrong-number", "connecting-cities-with-minimum-cost", "parallel-courses"]}, {"contest_title": "\u7b2c 6 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 6", "contest_title_slug": "biweekly-contest-6", "contest_id": 95, "contest_start_time": 1565447400, "contest_duration": 5400, "user_num": 513, "question_slugs": ["check-if-a-number-is-majority-element-in-a-sorted-array", "minimum-swaps-to-group-all-1s-together", "analyze-user-website-visit-pattern", "string-transforms-into-another-string"]}, {"contest_title": "\u7b2c 7 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 7", "contest_title_slug": "biweekly-contest-7", "contest_id": 99, "contest_start_time": 1566657000, "contest_duration": 5400, "user_num": 561, "question_slugs": ["single-row-keyboard", "design-file-system", "minimum-cost-to-connect-sticks", "optimize-water-distribution-in-a-village"]}, {"contest_title": "\u7b2c 8 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 8", "contest_title_slug": "biweekly-contest-8", "contest_id": 103, "contest_start_time": 1567866600, "contest_duration": 5400, "user_num": 630, "question_slugs": ["count-substrings-with-only-one-distinct-letter", "before-and-after-puzzle", "shortest-distance-to-target-color", "maximum-number-of-ones"]}, {"contest_title": "\u7b2c 9 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 9", "contest_title_slug": "biweekly-contest-9", "contest_id": 108, "contest_start_time": 1569076200, "contest_duration": 5700, "user_num": 929, "question_slugs": ["how-many-apples-can-you-put-into-the-basket", "minimum-knight-moves", "find-smallest-common-element-in-all-rows", "minimum-time-to-build-blocks"]}, {"contest_title": "\u7b2c 10 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 10", "contest_title_slug": "biweekly-contest-10", "contest_id": 115, "contest_start_time": 1570285800, "contest_duration": 5400, "user_num": 738, "question_slugs": ["intersection-of-three-sorted-arrays", "two-sum-bsts", "stepping-numbers", "valid-palindrome-iii"]}, {"contest_title": "\u7b2c 11 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 11", "contest_title_slug": "biweekly-contest-11", "contest_id": 118, "contest_start_time": 1571495400, "contest_duration": 5400, "user_num": 913, "question_slugs": ["missing-number-in-arithmetic-progression", "meeting-scheduler", "toss-strange-coins", "divide-chocolate"]}, {"contest_title": "\u7b2c 12 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 12", "contest_title_slug": "biweekly-contest-12", "contest_id": 121, "contest_start_time": 1572705000, "contest_duration": 5400, "user_num": 911, "question_slugs": ["design-a-leaderboard", "array-transformation", "tree-diameter", "palindrome-removal"]}, {"contest_title": "\u7b2c 13 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 13", "contest_title_slug": "biweekly-contest-13", "contest_id": 124, "contest_start_time": 1573914600, "contest_duration": 5400, "user_num": 810, "question_slugs": ["encode-number", "smallest-common-region", "synonymous-sentences", "handshakes-that-dont-cross"]}, {"contest_title": "\u7b2c 14 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 14", "contest_title_slug": "biweekly-contest-14", "contest_id": 129, "contest_start_time": 1575124200, "contest_duration": 5400, "user_num": 871, "question_slugs": ["hexspeak", "remove-interval", "delete-tree-nodes", "number-of-ships-in-a-rectangle"]}, {"contest_title": "\u7b2c 15 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 15", "contest_title_slug": "biweekly-contest-15", "contest_id": 132, "contest_start_time": 1576333800, "contest_duration": 5400, "user_num": 797, "question_slugs": ["element-appearing-more-than-25-in-sorted-array", "remove-covered-intervals", "iterator-for-combination", "minimum-falling-path-sum-ii"]}, {"contest_title": "\u7b2c 16 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 16", "contest_title_slug": "biweekly-contest-16", "contest_id": 135, "contest_start_time": 1577543400, "contest_duration": 5400, "user_num": 822, "question_slugs": ["replace-elements-with-greatest-element-on-right-side", "sum-of-mutated-array-closest-to-target", "deepest-leaves-sum", "number-of-paths-with-max-score"]}, {"contest_title": "\u7b2c 17 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 17", "contest_title_slug": "biweekly-contest-17", "contest_id": 138, "contest_start_time": 1578753000, "contest_duration": 5400, "user_num": 897, "question_slugs": ["decompress-run-length-encoded-list", "matrix-block-sum", "sum-of-nodes-with-even-valued-grandparent", "distinct-echo-substrings"]}, {"contest_title": "\u7b2c 18 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 18", "contest_title_slug": "biweekly-contest-18", "contest_id": 143, "contest_start_time": 1579962600, "contest_duration": 5400, "user_num": 587, "question_slugs": ["rank-transform-of-an-array", "break-a-palindrome", "sort-the-matrix-diagonally", "reverse-subarray-to-maximize-array-value"]}, {"contest_title": "\u7b2c 19 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 19", "contest_title_slug": "biweekly-contest-19", "contest_id": 146, "contest_start_time": 1581172200, "contest_duration": 5400, "user_num": 1120, "question_slugs": ["number-of-steps-to-reduce-a-number-to-zero", "number-of-sub-arrays-of-size-k-and-average-greater-than-or-equal-to-threshold", "angle-between-hands-of-a-clock", "jump-game-iv"]}, {"contest_title": "\u7b2c 20 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 20", "contest_title_slug": "biweekly-contest-20", "contest_id": 149, "contest_start_time": 1582381800, "contest_duration": 5400, "user_num": 1541, "question_slugs": ["sort-integers-by-the-number-of-1-bits", "apply-discount-every-n-orders", "number-of-substrings-containing-all-three-characters", "count-all-valid-pickup-and-delivery-options"]}, {"contest_title": "\u7b2c 21 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 21", "contest_title_slug": "biweekly-contest-21", "contest_id": 157, "contest_start_time": 1583591400, "contest_duration": 5400, "user_num": 1913, "question_slugs": ["increasing-decreasing-string", "find-the-longest-substring-containing-vowels-in-even-counts", "longest-zigzag-path-in-a-binary-tree", "maximum-sum-bst-in-binary-tree"]}, {"contest_title": "\u7b2c 22 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 22", "contest_title_slug": "biweekly-contest-22", "contest_id": 163, "contest_start_time": 1584801000, "contest_duration": 5400, "user_num": 2042, "question_slugs": ["find-the-distance-value-between-two-arrays", "cinema-seat-allocation", "sort-integers-by-the-power-value", "pizza-with-3n-slices"]}, {"contest_title": "\u7b2c 23 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 23", "contest_title_slug": "biweekly-contest-23", "contest_id": 169, "contest_start_time": 1586010600, "contest_duration": 5400, "user_num": 2045, "question_slugs": ["count-largest-group", "construct-k-palindrome-strings", "circle-and-rectangle-overlapping", "reducing-dishes"]}, {"contest_title": "\u7b2c 24 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 24", "contest_title_slug": "biweekly-contest-24", "contest_id": 178, "contest_start_time": 1587220200, "contest_duration": 5400, "user_num": 1898, "question_slugs": ["minimum-value-to-get-positive-step-by-step-sum", "find-the-minimum-number-of-fibonacci-numbers-whose-sum-is-k", "the-k-th-lexicographical-string-of-all-happy-strings-of-length-n", "restore-the-array"]}, {"contest_title": "\u7b2c 25 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 25", "contest_title_slug": "biweekly-contest-25", "contest_id": 192, "contest_start_time": 1588429800, "contest_duration": 5400, "user_num": 1832, "question_slugs": ["kids-with-the-greatest-number-of-candies", "max-difference-you-can-get-from-changing-an-integer", "check-if-a-string-can-break-another-string", "number-of-ways-to-wear-different-hats-to-each-other"]}, {"contest_title": "\u7b2c 26 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 26", "contest_title_slug": "biweekly-contest-26", "contest_id": 198, "contest_start_time": 1589639400, "contest_duration": 5400, "user_num": 1971, "question_slugs": ["consecutive-characters", "simplified-fractions", "count-good-nodes-in-binary-tree", "form-largest-integer-with-digits-that-add-up-to-target"]}, {"contest_title": "\u7b2c 27 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 27", "contest_title_slug": "biweekly-contest-27", "contest_id": 204, "contest_start_time": 1590849000, "contest_duration": 5400, "user_num": 1966, "question_slugs": ["make-two-arrays-equal-by-reversing-subarrays", "check-if-a-string-contains-all-binary-codes-of-size-k", "course-schedule-iv", "cherry-pickup-ii"]}, {"contest_title": "\u7b2c 28 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 28", "contest_title_slug": "biweekly-contest-28", "contest_id": 210, "contest_start_time": 1592058600, "contest_duration": 5400, "user_num": 2144, "question_slugs": ["final-prices-with-a-special-discount-in-a-shop", "subrectangle-queries", "find-two-non-overlapping-sub-arrays-each-with-target-sum", "allocate-mailboxes"]}, {"contest_title": "\u7b2c 29 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 29", "contest_title_slug": "biweekly-contest-29", "contest_id": 216, "contest_start_time": 1593268200, "contest_duration": 5400, "user_num": 2260, "question_slugs": ["average-salary-excluding-the-minimum-and-maximum-salary", "the-kth-factor-of-n", "longest-subarray-of-1s-after-deleting-one-element", "parallel-courses-ii"]}, {"contest_title": "\u7b2c 30 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 30", "contest_title_slug": "biweekly-contest-30", "contest_id": 222, "contest_start_time": 1594477800, "contest_duration": 5400, "user_num": 2545, "question_slugs": ["reformat-date", "range-sum-of-sorted-subarray-sums", "minimum-difference-between-largest-and-smallest-value-in-three-moves", "stone-game-iv"]}, {"contest_title": "\u7b2c 31 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 31", "contest_title_slug": "biweekly-contest-31", "contest_id": 232, "contest_start_time": 1595687400, "contest_duration": 5400, "user_num": 2767, "question_slugs": ["count-odd-numbers-in-an-interval-range", "number-of-sub-arrays-with-odd-sum", "number-of-good-ways-to-split-a-string", "minimum-number-of-increments-on-subarrays-to-form-a-target-array"]}, {"contest_title": "\u7b2c 32 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 32", "contest_title_slug": "biweekly-contest-32", "contest_id": 237, "contest_start_time": 1596897000, "contest_duration": 5400, "user_num": 2957, "question_slugs": ["kth-missing-positive-number", "can-convert-string-in-k-moves", "minimum-insertions-to-balance-a-parentheses-string", "find-longest-awesome-substring"]}, {"contest_title": "\u7b2c 33 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 33", "contest_title_slug": "biweekly-contest-33", "contest_id": 241, "contest_start_time": 1598106600, "contest_duration": 5400, "user_num": 3304, "question_slugs": ["thousand-separator", "minimum-number-of-vertices-to-reach-all-nodes", "minimum-numbers-of-function-calls-to-make-target-array", "detect-cycles-in-2d-grid"]}, {"contest_title": "\u7b2c 34 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 34", "contest_title_slug": "biweekly-contest-34", "contest_id": 256, "contest_start_time": 1599316200, "contest_duration": 5400, "user_num": 2842, "question_slugs": ["matrix-diagonal-sum", "number-of-ways-to-split-a-string", "shortest-subarray-to-be-removed-to-make-array-sorted", "count-all-possible-routes"]}, {"contest_title": "\u7b2c 35 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 35", "contest_title_slug": "biweekly-contest-35", "contest_id": 266, "contest_start_time": 1600525800, "contest_duration": 5400, "user_num": 2839, "question_slugs": ["sum-of-all-odd-length-subarrays", "maximum-sum-obtained-of-any-permutation", "make-sum-divisible-by-p", "strange-printer-ii"]}, {"contest_title": "\u7b2c 36 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 36", "contest_title_slug": "biweekly-contest-36", "contest_id": 288, "contest_start_time": 1601735400, "contest_duration": 5400, "user_num": 2204, "question_slugs": ["design-parking-system", "alert-using-same-key-card-three-or-more-times-in-a-one-hour-period", "find-valid-matrix-given-row-and-column-sums", "find-servers-that-handled-most-number-of-requests"]}, {"contest_title": "\u7b2c 37 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 37", "contest_title_slug": "biweekly-contest-37", "contest_id": 294, "contest_start_time": 1602945000, "contest_duration": 5400, "user_num": 2104, "question_slugs": ["mean-of-array-after-removing-some-elements", "coordinate-with-maximum-network-quality", "number-of-sets-of-k-non-overlapping-line-segments", "fancy-sequence"]}, {"contest_title": "\u7b2c 38 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 38", "contest_title_slug": "biweekly-contest-38", "contest_id": 300, "contest_start_time": 1604154600, "contest_duration": 5400, "user_num": 2004, "question_slugs": ["sort-array-by-increasing-frequency", "widest-vertical-area-between-two-points-containing-no-points", "count-substrings-that-differ-by-one-character", "number-of-ways-to-form-a-target-string-given-a-dictionary"]}, {"contest_title": "\u7b2c 39 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 39", "contest_title_slug": "biweekly-contest-39", "contest_id": 306, "contest_start_time": 1605364200, "contest_duration": 5400, "user_num": 2069, "question_slugs": ["defuse-the-bomb", "minimum-deletions-to-make-string-balanced", "minimum-jumps-to-reach-home", "distribute-repeating-integers"]}, {"contest_title": "\u7b2c 40 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 40", "contest_title_slug": "biweekly-contest-40", "contest_id": 312, "contest_start_time": 1606573800, "contest_duration": 5400, "user_num": 1891, "question_slugs": ["maximum-repeating-substring", "merge-in-between-linked-lists", "design-front-middle-back-queue", "minimum-number-of-removals-to-make-mountain-array"]}, {"contest_title": "\u7b2c 41 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 41", "contest_title_slug": "biweekly-contest-41", "contest_id": 318, "contest_start_time": 1607783400, "contest_duration": 5400, "user_num": 1660, "question_slugs": ["count-the-number-of-consistent-strings", "sum-of-absolute-differences-in-a-sorted-array", "stone-game-vi", "delivering-boxes-from-storage-to-ports"]}, {"contest_title": "\u7b2c 42 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 42", "contest_title_slug": "biweekly-contest-42", "contest_id": 325, "contest_start_time": 1608993000, "contest_duration": 5400, "user_num": 1578, "question_slugs": ["number-of-students-unable-to-eat-lunch", "average-waiting-time", "maximum-binary-string-after-change", "minimum-adjacent-swaps-for-k-consecutive-ones"]}, {"contest_title": "\u7b2c 43 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 43", "contest_title_slug": "biweekly-contest-43", "contest_id": 331, "contest_start_time": 1610202600, "contest_duration": 5400, "user_num": 1631, "question_slugs": ["calculate-money-in-leetcode-bank", "maximum-score-from-removing-substrings", "construct-the-lexicographically-largest-valid-sequence", "number-of-ways-to-reconstruct-a-tree"]}, {"contest_title": "\u7b2c 44 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 44", "contest_title_slug": "biweekly-contest-44", "contest_id": 337, "contest_start_time": 1611412200, "contest_duration": 5400, "user_num": 1826, "question_slugs": ["find-the-highest-altitude", "minimum-number-of-people-to-teach", "decode-xored-permutation", "count-ways-to-make-array-with-product"]}, {"contest_title": "\u7b2c 45 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 45", "contest_title_slug": "biweekly-contest-45", "contest_id": 343, "contest_start_time": 1612621800, "contest_duration": 5400, "user_num": 1676, "question_slugs": ["sum-of-unique-elements", "maximum-absolute-sum-of-any-subarray", "minimum-length-of-string-after-deleting-similar-ends", "maximum-number-of-events-that-can-be-attended-ii"]}, {"contest_title": "\u7b2c 46 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 46", "contest_title_slug": "biweekly-contest-46", "contest_id": 349, "contest_start_time": 1613831400, "contest_duration": 5400, "user_num": 1647, "question_slugs": ["longest-nice-substring", "form-array-by-concatenating-subarrays-of-another-array", "map-of-highest-peak", "tree-of-coprimes"]}, {"contest_title": "\u7b2c 47 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 47", "contest_title_slug": "biweekly-contest-47", "contest_id": 355, "contest_start_time": 1615041000, "contest_duration": 5400, "user_num": 3085, "question_slugs": ["find-nearest-point-that-has-the-same-x-or-y-coordinate", "check-if-number-is-a-sum-of-powers-of-three", "sum-of-beauty-of-all-substrings", "count-pairs-of-nodes"]}, {"contest_title": "\u7b2c 48 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 48", "contest_title_slug": "biweekly-contest-48", "contest_id": 362, "contest_start_time": 1616250600, "contest_duration": 5400, "user_num": 2853, "question_slugs": ["second-largest-digit-in-a-string", "design-authentication-manager", "maximum-number-of-consecutive-values-you-can-make", "maximize-score-after-n-operations"]}, {"contest_title": "\u7b2c 49 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 49", "contest_title_slug": "biweekly-contest-49", "contest_id": 374, "contest_start_time": 1617460200, "contest_duration": 5400, "user_num": 3193, "question_slugs": ["determine-color-of-a-chessboard-square", "sentence-similarity-iii", "count-nice-pairs-in-an-array", "maximum-number-of-groups-getting-fresh-donuts"]}, {"contest_title": "\u7b2c 50 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 50", "contest_title_slug": "biweekly-contest-50", "contest_id": 390, "contest_start_time": 1618669800, "contest_duration": 5400, "user_num": 3608, "question_slugs": ["minimum-operations-to-make-the-array-increasing", "queries-on-number-of-points-inside-a-circle", "maximum-xor-for-each-query", "minimum-number-of-operations-to-make-string-sorted"]}, {"contest_title": "\u7b2c 51 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 51", "contest_title_slug": "biweekly-contest-51", "contest_id": 396, "contest_start_time": 1619879400, "contest_duration": 5400, "user_num": 2675, "question_slugs": ["replace-all-digits-with-characters", "seat-reservation-manager", "maximum-element-after-decreasing-and-rearranging", "closest-room"]}, {"contest_title": "\u7b2c 52 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 52", "contest_title_slug": "biweekly-contest-52", "contest_id": 402, "contest_start_time": 1621089000, "contest_duration": 5400, "user_num": 2930, "question_slugs": ["sorting-the-sentence", "incremental-memory-leak", "rotating-the-box", "sum-of-floored-pairs"]}, {"contest_title": "\u7b2c 53 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 53", "contest_title_slug": "biweekly-contest-53", "contest_id": 408, "contest_start_time": 1622298600, "contest_duration": 5400, "user_num": 3069, "question_slugs": ["substrings-of-size-three-with-distinct-characters", "minimize-maximum-pair-sum-in-array", "get-biggest-three-rhombus-sums-in-a-grid", "minimum-xor-sum-of-two-arrays"]}, {"contest_title": "\u7b2c 54 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 54", "contest_title_slug": "biweekly-contest-54", "contest_id": 414, "contest_start_time": 1623508200, "contest_duration": 5400, "user_num": 2479, "question_slugs": ["check-if-all-the-integers-in-a-range-are-covered", "find-the-student-that-will-replace-the-chalk", "largest-magic-square", "minimum-cost-to-change-the-final-value-of-expression"]}, {"contest_title": "\u7b2c 55 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 55", "contest_title_slug": "biweekly-contest-55", "contest_id": 421, "contest_start_time": 1624717800, "contest_duration": 5400, "user_num": 3277, "question_slugs": ["remove-one-element-to-make-the-array-strictly-increasing", "remove-all-occurrences-of-a-substring", "maximum-alternating-subsequence-sum", "design-movie-rental-system"]}, {"contest_title": "\u7b2c 56 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 56", "contest_title_slug": "biweekly-contest-56", "contest_id": 429, "contest_start_time": 1625927400, "contest_duration": 5400, "user_num": 2760, "question_slugs": ["count-square-sum-triples", "nearest-exit-from-entrance-in-maze", "sum-game", "minimum-cost-to-reach-destination-in-time"]}, {"contest_title": "\u7b2c 57 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 57", "contest_title_slug": "biweekly-contest-57", "contest_id": 435, "contest_start_time": 1627137000, "contest_duration": 5400, "user_num": 2933, "question_slugs": ["check-if-all-characters-have-equal-number-of-occurrences", "the-number-of-the-smallest-unoccupied-chair", "describe-the-painting", "number-of-visible-people-in-a-queue"]}, {"contest_title": "\u7b2c 58 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 58", "contest_title_slug": "biweekly-contest-58", "contest_id": 441, "contest_start_time": 1628346600, "contest_duration": 5400, "user_num": 2889, "question_slugs": ["delete-characters-to-make-fancy-string", "check-if-move-is-legal", "minimum-total-space-wasted-with-k-resizing-operations", "maximum-product-of-the-length-of-two-palindromic-substrings"]}, {"contest_title": "\u7b2c 59 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 59", "contest_title_slug": "biweekly-contest-59", "contest_id": 448, "contest_start_time": 1629556200, "contest_duration": 5400, "user_num": 3030, "question_slugs": ["minimum-time-to-type-word-using-special-typewriter", "maximum-matrix-sum", "number-of-ways-to-arrive-at-destination", "number-of-ways-to-separate-numbers"]}, {"contest_title": "\u7b2c 60 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 60", "contest_title_slug": "biweekly-contest-60", "contest_id": 461, "contest_start_time": 1630765800, "contest_duration": 5400, "user_num": 2848, "question_slugs": ["find-the-middle-index-in-array", "find-all-groups-of-farmland", "operations-on-tree", "the-number-of-good-subsets"]}, {"contest_title": "\u7b2c 61 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 61", "contest_title_slug": "biweekly-contest-61", "contest_id": 467, "contest_start_time": 1631975400, "contest_duration": 5400, "user_num": 2534, "question_slugs": ["count-number-of-pairs-with-absolute-difference-k", "find-original-array-from-doubled-array", "maximum-earnings-from-taxi", "minimum-number-of-operations-to-make-array-continuous"]}, {"contest_title": "\u7b2c 62 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 62", "contest_title_slug": "biweekly-contest-62", "contest_id": 477, "contest_start_time": 1633185000, "contest_duration": 5400, "user_num": 2619, "question_slugs": ["convert-1d-array-into-2d-array", "number-of-pairs-of-strings-with-concatenation-equal-to-target", "maximize-the-confusion-of-an-exam", "maximum-number-of-ways-to-partition-an-array"]}, {"contest_title": "\u7b2c 63 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 63", "contest_title_slug": "biweekly-contest-63", "contest_id": 484, "contest_start_time": 1634394600, "contest_duration": 5400, "user_num": 2828, "question_slugs": ["minimum-number-of-moves-to-seat-everyone", "remove-colored-pieces-if-both-neighbors-are-the-same-color", "the-time-when-the-network-becomes-idle", "kth-smallest-product-of-two-sorted-arrays"]}, {"contest_title": "\u7b2c 64 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 64", "contest_title_slug": "biweekly-contest-64", "contest_id": 490, "contest_start_time": 1635604200, "contest_duration": 5400, "user_num": 2838, "question_slugs": ["kth-distinct-string-in-an-array", "two-best-non-overlapping-events", "plates-between-candles", "number-of-valid-move-combinations-on-chessboard"]}, {"contest_title": "\u7b2c 65 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 65", "contest_title_slug": "biweekly-contest-65", "contest_id": 497, "contest_start_time": 1636813800, "contest_duration": 5400, "user_num": 2676, "question_slugs": ["check-whether-two-strings-are-almost-equivalent", "walking-robot-simulation-ii", "most-beautiful-item-for-each-query", "maximum-number-of-tasks-you-can-assign"]}, {"contest_title": "\u7b2c 66 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 66", "contest_title_slug": "biweekly-contest-66", "contest_id": 503, "contest_start_time": 1638023400, "contest_duration": 5400, "user_num": 2803, "question_slugs": ["count-common-words-with-one-occurrence", "minimum-number-of-food-buckets-to-feed-the-hamsters", "minimum-cost-homecoming-of-a-robot-in-a-grid", "count-fertile-pyramids-in-a-land"]}, {"contest_title": "\u7b2c 67 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 67", "contest_title_slug": "biweekly-contest-67", "contest_id": 509, "contest_start_time": 1639233000, "contest_duration": 5400, "user_num": 2923, "question_slugs": ["find-subsequence-of-length-k-with-the-largest-sum", "find-good-days-to-rob-the-bank", "detonate-the-maximum-bombs", "sequentially-ordinal-rank-tracker"]}, {"contest_title": "\u7b2c 68 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 68", "contest_title_slug": "biweekly-contest-68", "contest_id": 515, "contest_start_time": 1640442600, "contest_duration": 5400, "user_num": 2854, "question_slugs": ["maximum-number-of-words-found-in-sentences", "find-all-possible-recipes-from-given-supplies", "check-if-a-parentheses-string-can-be-valid", "abbreviating-the-product-of-a-range"]}, {"contest_title": "\u7b2c 69 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 69", "contest_title_slug": "biweekly-contest-69", "contest_id": 521, "contest_start_time": 1641652200, "contest_duration": 5400, "user_num": 3360, "question_slugs": ["capitalize-the-title", "maximum-twin-sum-of-a-linked-list", "longest-palindrome-by-concatenating-two-letter-words", "stamping-the-grid"]}, {"contest_title": "\u7b2c 70 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 70", "contest_title_slug": "biweekly-contest-70", "contest_id": 527, "contest_start_time": 1642861800, "contest_duration": 5400, "user_num": 3640, "question_slugs": ["minimum-cost-of-buying-candies-with-discount", "count-the-hidden-sequences", "k-highest-ranked-items-within-a-price-range", "number-of-ways-to-divide-a-long-corridor"]}, {"contest_title": "\u7b2c 71 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 71", "contest_title_slug": "biweekly-contest-71", "contest_id": 533, "contest_start_time": 1644071400, "contest_duration": 5400, "user_num": 3028, "question_slugs": ["minimum-sum-of-four-digit-number-after-splitting-digits", "partition-array-according-to-given-pivot", "minimum-cost-to-set-cooking-time", "minimum-difference-in-sums-after-removal-of-elements"]}, {"contest_title": "\u7b2c 72 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 72", "contest_title_slug": "biweekly-contest-72", "contest_id": 539, "contest_start_time": 1645281000, "contest_duration": 5400, "user_num": 4400, "question_slugs": ["count-equal-and-divisible-pairs-in-an-array", "find-three-consecutive-integers-that-sum-to-a-given-number", "maximum-split-of-positive-even-integers", "count-good-triplets-in-an-array"]}, {"contest_title": "\u7b2c 73 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 73", "contest_title_slug": "biweekly-contest-73", "contest_id": 545, "contest_start_time": 1646490600, "contest_duration": 5400, "user_num": 5132, "question_slugs": ["most-frequent-number-following-key-in-an-array", "sort-the-jumbled-numbers", "all-ancestors-of-a-node-in-a-directed-acyclic-graph", "minimum-number-of-moves-to-make-palindrome"]}, {"contest_title": "\u7b2c 74 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 74", "contest_title_slug": "biweekly-contest-74", "contest_id": 554, "contest_start_time": 1647700200, "contest_duration": 5400, "user_num": 5442, "question_slugs": ["divide-array-into-equal-pairs", "maximize-number-of-subsequences-in-a-string", "minimum-operations-to-halve-array-sum", "minimum-white-tiles-after-covering-with-carpets"]}, {"contest_title": "\u7b2c 75 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 75", "contest_title_slug": "biweekly-contest-75", "contest_id": 563, "contest_start_time": 1648909800, "contest_duration": 5400, "user_num": 4335, "question_slugs": ["minimum-bit-flips-to-convert-number", "find-triangular-sum-of-an-array", "number-of-ways-to-select-buildings", "sum-of-scores-of-built-strings"]}, {"contest_title": "\u7b2c 76 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 76", "contest_title_slug": "biweekly-contest-76", "contest_id": 572, "contest_start_time": 1650119400, "contest_duration": 5400, "user_num": 4477, "question_slugs": ["find-closest-number-to-zero", "number-of-ways-to-buy-pens-and-pencils", "design-an-atm-machine", "maximum-score-of-a-node-sequence"]}, {"contest_title": "\u7b2c 77 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 77", "contest_title_slug": "biweekly-contest-77", "contest_id": 581, "contest_start_time": 1651329000, "contest_duration": 5400, "user_num": 4211, "question_slugs": ["count-prefixes-of-a-given-string", "minimum-average-difference", "count-unguarded-cells-in-the-grid", "escape-the-spreading-fire"]}, {"contest_title": "\u7b2c 78 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 78", "contest_title_slug": "biweekly-contest-78", "contest_id": 590, "contest_start_time": 1652538600, "contest_duration": 5400, "user_num": 4347, "question_slugs": ["find-the-k-beauty-of-a-number", "number-of-ways-to-split-array", "maximum-white-tiles-covered-by-a-carpet", "substring-with-largest-variance"]}, {"contest_title": "\u7b2c 79 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 79", "contest_title_slug": "biweekly-contest-79", "contest_id": 598, "contest_start_time": 1653748200, "contest_duration": 5400, "user_num": 4250, "question_slugs": ["check-if-number-has-equal-digit-count-and-digit-value", "sender-with-largest-word-count", "maximum-total-importance-of-roads", "booking-concert-tickets-in-groups"]}, {"contest_title": "\u7b2c 80 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 80", "contest_title_slug": "biweekly-contest-80", "contest_id": 608, "contest_start_time": 1654957800, "contest_duration": 5400, "user_num": 3949, "question_slugs": ["strong-password-checker-ii", "successful-pairs-of-spells-and-potions", "match-substring-after-replacement", "count-subarrays-with-score-less-than-k"]}, {"contest_title": "\u7b2c 81 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 81", "contest_title_slug": "biweekly-contest-81", "contest_id": 614, "contest_start_time": 1656167400, "contest_duration": 5400, "user_num": 3847, "question_slugs": ["count-asterisks", "count-unreachable-pairs-of-nodes-in-an-undirected-graph", "maximum-xor-after-operations", "number-of-distinct-roll-sequences"]}, {"contest_title": "\u7b2c 82 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 82", "contest_title_slug": "biweekly-contest-82", "contest_id": 646, "contest_start_time": 1657377000, "contest_duration": 5400, "user_num": 4144, "question_slugs": ["evaluate-boolean-binary-tree", "the-latest-time-to-catch-a-bus", "minimum-sum-of-squared-difference", "subarray-with-elements-greater-than-varying-threshold"]}, {"contest_title": "\u7b2c 83 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 83", "contest_title_slug": "biweekly-contest-83", "contest_id": 652, "contest_start_time": 1658586600, "contest_duration": 5400, "user_num": 4437, "question_slugs": ["best-poker-hand", "number-of-zero-filled-subarrays", "design-a-number-container-system", "shortest-impossible-sequence-of-rolls"]}, {"contest_title": "\u7b2c 84 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 84", "contest_title_slug": "biweekly-contest-84", "contest_id": 658, "contest_start_time": 1659796200, "contest_duration": 5400, "user_num": 4574, "question_slugs": ["merge-similar-items", "count-number-of-bad-pairs", "task-scheduler-ii", "minimum-replacements-to-sort-the-array"]}, {"contest_title": "\u7b2c 85 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 85", "contest_title_slug": "biweekly-contest-85", "contest_id": 668, "contest_start_time": 1661005800, "contest_duration": 5400, "user_num": 4193, "question_slugs": ["minimum-recolors-to-get-k-consecutive-black-blocks", "time-needed-to-rearrange-a-binary-string", "shifting-letters-ii", "maximum-segment-sum-after-removals"]}, {"contest_title": "\u7b2c 86 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 86", "contest_title_slug": "biweekly-contest-86", "contest_id": 688, "contest_start_time": 1662215400, "contest_duration": 5400, "user_num": 4401, "question_slugs": ["find-subarrays-with-equal-sum", "strictly-palindromic-number", "maximum-rows-covered-by-columns", "maximum-number-of-robots-within-budget"]}, {"contest_title": "\u7b2c 87 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 87", "contest_title_slug": "biweekly-contest-87", "contest_id": 703, "contest_start_time": 1663425000, "contest_duration": 5400, "user_num": 4005, "question_slugs": ["count-days-spent-together", "maximum-matching-of-players-with-trainers", "smallest-subarrays-with-maximum-bitwise-or", "minimum-money-required-before-transactions"]}, {"contest_title": "\u7b2c 88 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 88", "contest_title_slug": "biweekly-contest-88", "contest_id": 745, "contest_start_time": 1664634600, "contest_duration": 5400, "user_num": 3905, "question_slugs": ["remove-letter-to-equalize-frequency", "longest-uploaded-prefix", "bitwise-xor-of-all-pairings", "number-of-pairs-satisfying-inequality"]}, {"contest_title": "\u7b2c 89 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 89", "contest_title_slug": "biweekly-contest-89", "contest_id": 755, "contest_start_time": 1665844200, "contest_duration": 5400, "user_num": 3984, "question_slugs": ["number-of-valid-clock-times", "range-product-queries-of-powers", "minimize-maximum-of-array", "create-components-with-same-value"]}, {"contest_title": "\u7b2c 90 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 90", "contest_title_slug": "biweekly-contest-90", "contest_id": 763, "contest_start_time": 1667053800, "contest_duration": 5400, "user_num": 3624, "question_slugs": ["odd-string-difference", "words-within-two-edits-of-dictionary", "destroy-sequential-targets", "next-greater-element-iv"]}, {"contest_title": "\u7b2c 91 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 91", "contest_title_slug": "biweekly-contest-91", "contest_id": 770, "contest_start_time": 1668263400, "contest_duration": 5400, "user_num": 3535, "question_slugs": ["number-of-distinct-averages", "count-ways-to-build-good-strings", "most-profitable-path-in-a-tree", "split-message-based-on-limit"]}, {"contest_title": "\u7b2c 92 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 92", "contest_title_slug": "biweekly-contest-92", "contest_id": 776, "contest_start_time": 1669473000, "contest_duration": 5400, "user_num": 3055, "question_slugs": ["minimum-cuts-to-divide-a-circle", "difference-between-ones-and-zeros-in-row-and-column", "minimum-penalty-for-a-shop", "count-palindromic-subsequences"]}, {"contest_title": "\u7b2c 93 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 93", "contest_title_slug": "biweekly-contest-93", "contest_id": 782, "contest_start_time": 1670682600, "contest_duration": 5400, "user_num": 2929, "question_slugs": ["maximum-value-of-a-string-in-an-array", "maximum-star-sum-of-a-graph", "frog-jump-ii", "minimum-total-cost-to-make-arrays-unequal"]}, {"contest_title": "\u7b2c 94 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 94", "contest_title_slug": "biweekly-contest-94", "contest_id": 789, "contest_start_time": 1671892200, "contest_duration": 5400, "user_num": 2298, "question_slugs": ["maximum-enemy-forts-that-can-be-captured", "reward-top-k-students", "minimize-the-maximum-of-two-arrays", "count-anagrams"]}, {"contest_title": "\u7b2c 95 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 95", "contest_title_slug": "biweekly-contest-95", "contest_id": 798, "contest_start_time": 1673101800, "contest_duration": 5400, "user_num": 2880, "question_slugs": ["categorize-box-according-to-criteria", "find-consecutive-integers-from-a-data-stream", "find-xor-beauty-of-array", "maximize-the-minimum-powered-city"]}, {"contest_title": "\u7b2c 96 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 96", "contest_title_slug": "biweekly-contest-96", "contest_id": 804, "contest_start_time": 1674311400, "contest_duration": 5400, "user_num": 2103, "question_slugs": ["minimum-common-value", "minimum-operations-to-make-array-equal-ii", "maximum-subsequence-score", "check-if-point-is-reachable"]}, {"contest_title": "\u7b2c 97 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 97", "contest_title_slug": "biweekly-contest-97", "contest_id": 810, "contest_start_time": 1675521000, "contest_duration": 5400, "user_num": 2631, "question_slugs": ["separate-the-digits-in-an-array", "maximum-number-of-integers-to-choose-from-a-range-i", "maximize-win-from-two-segments", "disconnect-path-in-a-binary-matrix-by-at-most-one-flip"]}, {"contest_title": "\u7b2c 98 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 98", "contest_title_slug": "biweekly-contest-98", "contest_id": 816, "contest_start_time": 1676730600, "contest_duration": 5400, "user_num": 3250, "question_slugs": ["maximum-difference-by-remapping-a-digit", "minimum-score-by-changing-two-elements", "minimum-impossible-or", "handling-sum-queries-after-update"]}, {"contest_title": "\u7b2c 99 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 99", "contest_title_slug": "biweekly-contest-99", "contest_id": 822, "contest_start_time": 1677940200, "contest_duration": 5400, "user_num": 3467, "question_slugs": ["split-with-minimum-sum", "count-total-number-of-colored-cells", "count-ways-to-group-overlapping-ranges", "count-number-of-possible-root-nodes"]}, {"contest_title": "\u7b2c 100 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 100", "contest_title_slug": "biweekly-contest-100", "contest_id": 832, "contest_start_time": 1679149800, "contest_duration": 5400, "user_num": 3639, "question_slugs": ["distribute-money-to-maximum-children", "maximize-greatness-of-an-array", "find-score-of-an-array-after-marking-all-elements", "minimum-time-to-repair-cars"]}, {"contest_title": "\u7b2c 101 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 101", "contest_title_slug": "biweekly-contest-101", "contest_id": 842, "contest_start_time": 1680359400, "contest_duration": 5400, "user_num": 3353, "question_slugs": ["form-smallest-number-from-two-digit-arrays", "find-the-substring-with-maximum-cost", "make-k-subarray-sums-equal", "shortest-cycle-in-a-graph"]}, {"contest_title": "\u7b2c 102 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 102", "contest_title_slug": "biweekly-contest-102", "contest_id": 853, "contest_start_time": 1681569000, "contest_duration": 5400, "user_num": 3058, "question_slugs": ["find-the-width-of-columns-of-a-grid", "find-the-score-of-all-prefixes-of-an-array", "cousins-in-binary-tree-ii", "design-graph-with-shortest-path-calculator"]}, {"contest_title": "\u7b2c 103 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 103", "contest_title_slug": "biweekly-contest-103", "contest_id": 859, "contest_start_time": 1682778600, "contest_duration": 5400, "user_num": 2299, "question_slugs": ["maximum-sum-with-exactly-k-elements", "find-the-prefix-common-array-of-two-arrays", "maximum-number-of-fish-in-a-grid", "make-array-empty"]}, {"contest_title": "\u7b2c 104 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 104", "contest_title_slug": "biweekly-contest-104", "contest_id": 866, "contest_start_time": 1683988200, "contest_duration": 5400, "user_num": 2519, "question_slugs": ["number-of-senior-citizens", "sum-in-a-matrix", "maximum-or", "power-of-heroes"]}, {"contest_title": "\u7b2c 105 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 105", "contest_title_slug": "biweekly-contest-105", "contest_id": 873, "contest_start_time": 1685197800, "contest_duration": 5400, "user_num": 2604, "question_slugs": ["buy-two-chocolates", "extra-characters-in-a-string", "maximum-strength-of-a-group", "greatest-common-divisor-traversal"]}, {"contest_title": "\u7b2c 106 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 106", "contest_title_slug": "biweekly-contest-106", "contest_id": 879, "contest_start_time": 1686407400, "contest_duration": 5400, "user_num": 2346, "question_slugs": ["check-if-the-number-is-fascinating", "find-the-longest-semi-repetitive-substring", "movement-of-robots", "find-a-good-subset-of-the-matrix"]}, {"contest_title": "\u7b2c 107 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 107", "contest_title_slug": "biweekly-contest-107", "contest_id": 885, "contest_start_time": 1687617000, "contest_duration": 5400, "user_num": 1870, "question_slugs": ["find-maximum-number-of-string-pairs", "construct-the-longest-new-string", "decremental-string-concatenation", "count-zero-request-servers"]}, {"contest_title": "\u7b2c 108 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 108", "contest_title_slug": "biweekly-contest-108", "contest_id": 891, "contest_start_time": 1688826600, "contest_duration": 5400, "user_num": 2349, "question_slugs": ["longest-alternating-subarray", "relocate-marbles", "partition-string-into-minimum-beautiful-substrings", "number-of-black-blocks"]}, {"contest_title": "\u7b2c 109 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 109", "contest_title_slug": "biweekly-contest-109", "contest_id": 897, "contest_start_time": 1690036200, "contest_duration": 5400, "user_num": 2461, "question_slugs": ["check-if-array-is-good", "sort-vowels-in-a-string", "visit-array-positions-to-maximize-score", "ways-to-express-an-integer-as-sum-of-powers"]}, {"contest_title": "\u7b2c 110 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 110", "contest_title_slug": "biweekly-contest-110", "contest_id": 903, "contest_start_time": 1691245800, "contest_duration": 5400, "user_num": 2546, "question_slugs": ["account-balance-after-rounded-purchase", "insert-greatest-common-divisors-in-linked-list", "minimum-seconds-to-equalize-a-circular-array", "minimum-time-to-make-array-sum-at-most-x"]}, {"contest_title": "\u7b2c 111 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 111", "contest_title_slug": "biweekly-contest-111", "contest_id": 909, "contest_start_time": 1692455400, "contest_duration": 5400, "user_num": 2787, "question_slugs": ["count-pairs-whose-sum-is-less-than-target", "make-string-a-subsequence-using-cyclic-increments", "sorting-three-groups", "number-of-beautiful-integers-in-the-range"]}, {"contest_title": "\u7b2c 112 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 112", "contest_title_slug": "biweekly-contest-112", "contest_id": 917, "contest_start_time": 1693665000, "contest_duration": 5400, "user_num": 2900, "question_slugs": ["check-if-strings-can-be-made-equal-with-operations-i", "check-if-strings-can-be-made-equal-with-operations-ii", "maximum-sum-of-almost-unique-subarray", "count-k-subsequences-of-a-string-with-maximum-beauty"]}, {"contest_title": "\u7b2c 113 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 113", "contest_title_slug": "biweekly-contest-113", "contest_id": 923, "contest_start_time": 1694874600, "contest_duration": 5400, "user_num": 3028, "question_slugs": ["minimum-right-shifts-to-sort-the-array", "minimum-array-length-after-pair-removals", "count-pairs-of-points-with-distance-k", "minimum-edge-reversals-so-every-node-is-reachable"]}, {"contest_title": "\u7b2c 114 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 114", "contest_title_slug": "biweekly-contest-114", "contest_id": 929, "contest_start_time": 1696084200, "contest_duration": 5400, "user_num": 2406, "question_slugs": ["minimum-operations-to-collect-elements", "minimum-number-of-operations-to-make-array-empty", "split-array-into-maximum-number-of-subarrays", "maximum-number-of-k-divisible-components"]}, {"contest_title": "\u7b2c 115 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 115", "contest_title_slug": "biweekly-contest-115", "contest_id": 935, "contest_start_time": 1697293800, "contest_duration": 5400, "user_num": 2809, "question_slugs": ["last-visited-integers", "longest-unequal-adjacent-groups-subsequence-i", "longest-unequal-adjacent-groups-subsequence-ii", "count-of-sub-multisets-with-bounded-sum"]}, {"contest_title": "\u7b2c 116 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 116", "contest_title_slug": "biweekly-contest-116", "contest_id": 941, "contest_start_time": 1698503400, "contest_duration": 5400, "user_num": 2904, "question_slugs": ["subarrays-distinct-element-sum-of-squares-i", "minimum-number-of-changes-to-make-binary-string-beautiful", "length-of-the-longest-subsequence-that-sums-to-target", "subarrays-distinct-element-sum-of-squares-ii"]}, {"contest_title": "\u7b2c 117 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 117", "contest_title_slug": "biweekly-contest-117", "contest_id": 949, "contest_start_time": 1699713000, "contest_duration": 5400, "user_num": 2629, "question_slugs": ["distribute-candies-among-children-i", "distribute-candies-among-children-ii", "number-of-strings-which-can-be-rearranged-to-contain-substring", "maximum-spending-after-buying-items"]}, {"contest_title": "\u7b2c 118 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 118", "contest_title_slug": "biweekly-contest-118", "contest_id": 955, "contest_start_time": 1700922600, "contest_duration": 5400, "user_num": 2425, "question_slugs": ["find-words-containing-character", "maximize-area-of-square-hole-in-grid", "minimum-number-of-coins-for-fruits", "find-maximum-non-decreasing-array-length"]}, {"contest_title": "\u7b2c 119 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 119", "contest_title_slug": "biweekly-contest-119", "contest_id": 961, "contest_start_time": 1702132200, "contest_duration": 5400, "user_num": 2472, "question_slugs": ["find-common-elements-between-two-arrays", "remove-adjacent-almost-equal-characters", "length-of-longest-subarray-with-at-most-k-frequency", "number-of-possible-sets-of-closing-branches"]}, {"contest_title": "\u7b2c 120 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 120", "contest_title_slug": "biweekly-contest-120", "contest_id": 967, "contest_start_time": 1703341800, "contest_duration": 5400, "user_num": 2542, "question_slugs": ["count-the-number-of-incremovable-subarrays-i", "find-polygon-with-the-largest-perimeter", "count-the-number-of-incremovable-subarrays-ii", "find-number-of-coins-to-place-in-tree-nodes"]}, {"contest_title": "\u7b2c 121 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 121", "contest_title_slug": "biweekly-contest-121", "contest_id": 973, "contest_start_time": 1704551400, "contest_duration": 5400, "user_num": 2218, "question_slugs": ["smallest-missing-integer-greater-than-sequential-prefix-sum", "minimum-number-of-operations-to-make-array-xor-equal-to-k", "minimum-number-of-operations-to-make-x-and-y-equal", "count-the-number-of-powerful-integers"]}, {"contest_title": "\u7b2c 122 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 122", "contest_title_slug": "biweekly-contest-122", "contest_id": 979, "contest_start_time": 1705761000, "contest_duration": 5400, "user_num": 2547, "question_slugs": ["divide-an-array-into-subarrays-with-minimum-cost-i", "find-if-array-can-be-sorted", "minimize-length-of-array-using-operations", "divide-an-array-into-subarrays-with-minimum-cost-ii"]}, {"contest_title": "\u7b2c 123 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 123", "contest_title_slug": "biweekly-contest-123", "contest_id": 985, "contest_start_time": 1706970600, "contest_duration": 5400, "user_num": 2209, "question_slugs": ["type-of-triangle", "find-the-number-of-ways-to-place-people-i", "maximum-good-subarray-sum", "find-the-number-of-ways-to-place-people-ii"]}, {"contest_title": "\u7b2c 124 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 124", "contest_title_slug": "biweekly-contest-124", "contest_id": 991, "contest_start_time": 1708180200, "contest_duration": 5400, "user_num": 1861, "question_slugs": ["maximum-number-of-operations-with-the-same-score-i", "apply-operations-to-make-string-empty", "maximum-number-of-operations-with-the-same-score-ii", "maximize-consecutive-elements-in-an-array-after-modification"]}, {"contest_title": "\u7b2c 125 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 125", "contest_title_slug": "biweekly-contest-125", "contest_id": 997, "contest_start_time": 1709389800, "contest_duration": 5400, "user_num": 2599, "question_slugs": ["minimum-operations-to-exceed-threshold-value-i", "minimum-operations-to-exceed-threshold-value-ii", "count-pairs-of-connectable-servers-in-a-weighted-tree-network", "find-the-maximum-sum-of-node-values"]}, {"contest_title": "\u7b2c 126 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 126", "contest_title_slug": "biweekly-contest-126", "contest_id": 1003, "contest_start_time": 1710599400, "contest_duration": 5400, "user_num": 3234, "question_slugs": ["find-the-sum-of-encrypted-integers", "mark-elements-on-array-by-performing-queries", "replace-question-marks-in-string-to-minimize-its-value", "find-the-sum-of-the-power-of-all-subsequences"]}, {"contest_title": "\u7b2c 127 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 127", "contest_title_slug": "biweekly-contest-127", "contest_id": 1010, "contest_start_time": 1711809000, "contest_duration": 5400, "user_num": 2951, "question_slugs": ["shortest-subarray-with-or-at-least-k-i", "minimum-levels-to-gain-more-points", "shortest-subarray-with-or-at-least-k-ii", "find-the-sum-of-subsequence-powers"]}, {"contest_title": "\u7b2c 128 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 128", "contest_title_slug": "biweekly-contest-128", "contest_id": 1017, "contest_start_time": 1713018600, "contest_duration": 5400, "user_num": 2654, "question_slugs": ["score-of-a-string", "minimum-rectangles-to-cover-points", "minimum-time-to-visit-disappearing-nodes", "find-the-number-of-subarrays-where-boundary-elements-are-maximum"]}, {"contest_title": "\u7b2c 129 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 129", "contest_title_slug": "biweekly-contest-129", "contest_id": 1023, "contest_start_time": 1714228200, "contest_duration": 5400, "user_num": 2511, "question_slugs": ["make-a-square-with-the-same-color", "right-triangles", "find-all-possible-stable-binary-arrays-i", "find-all-possible-stable-binary-arrays-ii"]}, {"contest_title": "\u7b2c 130 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 130", "contest_title_slug": "biweekly-contest-130", "contest_id": 1029, "contest_start_time": 1715437800, "contest_duration": 5400, "user_num": 2604, "question_slugs": ["check-if-grid-satisfies-conditions", "maximum-points-inside-the-square", "minimum-substring-partition-of-equal-character-frequency", "find-products-of-elements-of-big-array"]}, {"contest_title": "\u7b2c 131 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 131", "contest_title_slug": "biweekly-contest-131", "contest_id": 1035, "contest_start_time": 1716647400, "contest_duration": 5400, "user_num": 2537, "question_slugs": ["find-the-xor-of-numbers-which-appear-twice", "find-occurrences-of-an-element-in-an-array", "find-the-number-of-distinct-colors-among-the-balls", "block-placement-queries"]}, {"contest_title": "\u7b2c 132 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 132", "contest_title_slug": "biweekly-contest-132", "contest_id": 1042, "contest_start_time": 1717857000, "contest_duration": 5400, "user_num": 2457, "question_slugs": ["clear-digits", "find-the-first-player-to-win-k-games-in-a-row", "find-the-maximum-length-of-a-good-subsequence-i", "find-the-maximum-length-of-a-good-subsequence-ii"]}, {"contest_title": "\u7b2c 133 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 133", "contest_title_slug": "biweekly-contest-133", "contest_id": 1048, "contest_start_time": 1719066600, "contest_duration": 5400, "user_num": 2326, "question_slugs": ["find-minimum-operations-to-make-all-elements-divisible-by-three", "minimum-operations-to-make-binary-array-elements-equal-to-one-i", "minimum-operations-to-make-binary-array-elements-equal-to-one-ii", "count-the-number-of-inversions"]}, {"contest_title": "\u7b2c 134 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 134", "contest_title_slug": "biweekly-contest-134", "contest_id": 1055, "contest_start_time": 1720276200, "contest_duration": 5400, "user_num": 2411, "question_slugs": ["alternating-groups-i", "maximum-points-after-enemy-battles", "alternating-groups-ii", "number-of-subarrays-with-and-value-of-k"]}, {"contest_title": "\u7b2c 135 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 135", "contest_title_slug": "biweekly-contest-135", "contest_id": 1061, "contest_start_time": 1721485800, "contest_duration": 5400, "user_num": 2260, "question_slugs": ["find-the-winning-player-in-coin-game", "minimum-length-of-string-after-operations", "minimum-array-changes-to-make-differences-equal", "maximum-score-from-grid-operations"]}, {"contest_title": "\u7b2c 136 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 136", "contest_title_slug": "biweekly-contest-136", "contest_id": 1068, "contest_start_time": 1722695400, "contest_duration": 5400, "user_num": 2418, "question_slugs": ["find-the-number-of-winning-players", "minimum-number-of-flips-to-make-binary-grid-palindromic-i", "minimum-number-of-flips-to-make-binary-grid-palindromic-ii", "time-taken-to-mark-all-nodes"]}, {"contest_title": "\u7b2c 137 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 137", "contest_title_slug": "biweekly-contest-137", "contest_id": 1074, "contest_start_time": 1723905000, "contest_duration": 5400, "user_num": 2198, "question_slugs": ["find-the-power-of-k-size-subarrays-i", "find-the-power-of-k-size-subarrays-ii", "maximum-value-sum-by-placing-three-rooks-i", "maximum-value-sum-by-placing-three-rooks-ii"]}] \ No newline at end of file +[{"contest_title": "\u7b2c 83 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 83", "contest_title_slug": "weekly-contest-83", "contest_id": 5, "contest_start_time": 1525570200, "contest_duration": 5400, "user_num": 58, "question_slugs": ["positions-of-large-groups", "masking-personal-information", "consecutive-numbers-sum", "count-unique-characters-of-all-substrings-of-a-given-string"]}, {"contest_title": "\u7b2c 84 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 84", "contest_title_slug": "weekly-contest-84", "contest_id": 6, "contest_start_time": 1526175000, "contest_duration": 5400, "user_num": 656, "question_slugs": ["flipping-an-image", "find-and-replace-in-string", "image-overlap", "sum-of-distances-in-tree"]}, {"contest_title": "\u7b2c 85 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 85", "contest_title_slug": "weekly-contest-85", "contest_id": 7, "contest_start_time": 1526779800, "contest_duration": 5400, "user_num": 467, "question_slugs": ["rectangle-overlap", "push-dominoes", "new-21-game", "similar-string-groups"]}, {"contest_title": "\u7b2c 86 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 86", "contest_title_slug": "weekly-contest-86", "contest_id": 8, "contest_start_time": 1527384600, "contest_duration": 5400, "user_num": 377, "question_slugs": ["magic-squares-in-grid", "keys-and-rooms", "split-array-into-fibonacci-sequence", "guess-the-word"]}, {"contest_title": "\u7b2c 87 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 87", "contest_title_slug": "weekly-contest-87", "contest_id": 9, "contest_start_time": 1527989400, "contest_duration": 5400, "user_num": 343, "question_slugs": ["backspace-string-compare", "longest-mountain-in-array", "hand-of-straights", "shortest-path-visiting-all-nodes"]}, {"contest_title": "\u7b2c 88 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 88", "contest_title_slug": "weekly-contest-88", "contest_id": 11, "contest_start_time": 1528594200, "contest_duration": 5400, "user_num": 404, "question_slugs": ["shifting-letters", "maximize-distance-to-closest-person", "loud-and-rich", "rectangle-area-ii"]}, {"contest_title": "\u7b2c 89 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 89", "contest_title_slug": "weekly-contest-89", "contest_id": 12, "contest_start_time": 1529199000, "contest_duration": 5400, "user_num": 491, "question_slugs": ["peak-index-in-a-mountain-array", "car-fleet", "exam-room", "k-similar-strings"]}, {"contest_title": "\u7b2c 90 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 90", "contest_title_slug": "weekly-contest-90", "contest_id": 13, "contest_start_time": 1529803800, "contest_duration": 5400, "user_num": 573, "question_slugs": ["buddy-strings", "score-of-parentheses", "mirror-reflection", "minimum-cost-to-hire-k-workers"]}, {"contest_title": "\u7b2c 91 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 91", "contest_title_slug": "weekly-contest-91", "contest_id": 14, "contest_start_time": 1530408600, "contest_duration": 5400, "user_num": 578, "question_slugs": ["lemonade-change", "all-nodes-distance-k-in-binary-tree", "score-after-flipping-matrix", "shortest-subarray-with-sum-at-least-k"]}, {"contest_title": "\u7b2c 92 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 92", "contest_title_slug": "weekly-contest-92", "contest_id": 15, "contest_start_time": 1531013400, "contest_duration": 5400, "user_num": 610, "question_slugs": ["transpose-matrix", "smallest-subtree-with-all-the-deepest-nodes", "prime-palindrome", "shortest-path-to-get-all-keys"]}, {"contest_title": "\u7b2c 93 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 93", "contest_title_slug": "weekly-contest-93", "contest_id": 16, "contest_start_time": 1531618200, "contest_duration": 5400, "user_num": 732, "question_slugs": ["binary-gap", "reordered-power-of-2", "advantage-shuffle", "minimum-number-of-refueling-stops"]}, {"contest_title": "\u7b2c 94 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 94", "contest_title_slug": "weekly-contest-94", "contest_id": 17, "contest_start_time": 1532223000, "contest_duration": 5400, "user_num": 733, "question_slugs": ["leaf-similar-trees", "walking-robot-simulation", "koko-eating-bananas", "length-of-longest-fibonacci-subsequence"]}, {"contest_title": "\u7b2c 95 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 95", "contest_title_slug": "weekly-contest-95", "contest_id": 18, "contest_start_time": 1532827800, "contest_duration": 5400, "user_num": 831, "question_slugs": ["middle-of-the-linked-list", "stone-game", "nth-magical-number", "profitable-schemes"]}, {"contest_title": "\u7b2c 96 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 96", "contest_title_slug": "weekly-contest-96", "contest_id": 19, "contest_start_time": 1533432600, "contest_duration": 5400, "user_num": 789, "question_slugs": ["projection-area-of-3d-shapes", "boats-to-save-people", "decoded-string-at-index", "reachable-nodes-in-subdivided-graph"]}, {"contest_title": "\u7b2c 97 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 97", "contest_title_slug": "weekly-contest-97", "contest_id": 20, "contest_start_time": 1534037400, "contest_duration": 5400, "user_num": 635, "question_slugs": ["uncommon-words-from-two-sentences", "spiral-matrix-iii", "possible-bipartition", "super-egg-drop"]}, {"contest_title": "\u7b2c 98 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 98", "contest_title_slug": "weekly-contest-98", "contest_id": 21, "contest_start_time": 1534642200, "contest_duration": 5400, "user_num": 670, "question_slugs": ["fair-candy-swap", "find-and-replace-pattern", "construct-binary-tree-from-preorder-and-postorder-traversal", "sum-of-subsequence-widths"]}, {"contest_title": "\u7b2c 99 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 99", "contest_title_slug": "weekly-contest-99", "contest_id": 22, "contest_start_time": 1535247000, "contest_duration": 5400, "user_num": 725, "question_slugs": ["surface-area-of-3d-shapes", "groups-of-special-equivalent-strings", "all-possible-full-binary-trees", "maximum-frequency-stack"]}, {"contest_title": "\u7b2c 100 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 100", "contest_title_slug": "weekly-contest-100", "contest_id": 23, "contest_start_time": 1535851800, "contest_duration": 5400, "user_num": 718, "question_slugs": ["monotonic-array", "increasing-order-search-tree", "bitwise-ors-of-subarrays", "orderly-queue"]}, {"contest_title": "\u7b2c 101 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 101", "contest_title_slug": "weekly-contest-101", "contest_id": 24, "contest_start_time": 1536456600, "contest_duration": 6300, "user_num": 854, "question_slugs": ["rle-iterator", "online-stock-span", "numbers-at-most-n-given-digit-set", "valid-permutations-for-di-sequence"]}, {"contest_title": "\u7b2c 102 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 102", "contest_title_slug": "weekly-contest-102", "contest_id": 25, "contest_start_time": 1537061400, "contest_duration": 5400, "user_num": 660, "question_slugs": ["sort-array-by-parity", "fruit-into-baskets", "sum-of-subarray-minimums", "super-palindromes"]}, {"contest_title": "\u7b2c 103 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 103", "contest_title_slug": "weekly-contest-103", "contest_id": 26, "contest_start_time": 1537666200, "contest_duration": 5400, "user_num": 575, "question_slugs": ["smallest-range-i", "snakes-and-ladders", "smallest-range-ii", "online-election"]}, {"contest_title": "\u7b2c 104 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 104", "contest_title_slug": "weekly-contest-104", "contest_id": 27, "contest_start_time": 1538271000, "contest_duration": 5400, "user_num": 354, "question_slugs": ["x-of-a-kind-in-a-deck-of-cards", "partition-array-into-disjoint-intervals", "word-subsets", "cat-and-mouse"]}, {"contest_title": "\u7b2c 105 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 105", "contest_title_slug": "weekly-contest-105", "contest_id": 28, "contest_start_time": 1538875800, "contest_duration": 5400, "user_num": 393, "question_slugs": ["reverse-only-letters", "maximum-sum-circular-subarray", "complete-binary-tree-inserter", "number-of-music-playlists"]}, {"contest_title": "\u7b2c 106 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 106", "contest_title_slug": "weekly-contest-106", "contest_id": 29, "contest_start_time": 1539480600, "contest_duration": 5400, "user_num": 369, "question_slugs": ["sort-array-by-parity-ii", "minimum-add-to-make-parentheses-valid", "3sum-with-multiplicity", "minimize-malware-spread"]}, {"contest_title": "\u7b2c 107 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 107", "contest_title_slug": "weekly-contest-107", "contest_id": 30, "contest_start_time": 1540085400, "contest_duration": 5400, "user_num": 504, "question_slugs": ["long-pressed-name", "flip-string-to-monotone-increasing", "three-equal-parts", "minimize-malware-spread-ii"]}, {"contest_title": "\u7b2c 108 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 108", "contest_title_slug": "weekly-contest-108", "contest_id": 31, "contest_start_time": 1540690200, "contest_duration": 5400, "user_num": 524, "question_slugs": ["unique-email-addresses", "binary-subarrays-with-sum", "minimum-falling-path-sum", "beautiful-array"]}, {"contest_title": "\u7b2c 109 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 109", "contest_title_slug": "weekly-contest-109", "contest_id": 32, "contest_start_time": 1541295000, "contest_duration": 5400, "user_num": 439, "question_slugs": ["number-of-recent-calls", "knight-dialer", "shortest-bridge", "stamping-the-sequence"]}, {"contest_title": "\u7b2c 110 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 110", "contest_title_slug": "weekly-contest-110", "contest_id": 33, "contest_start_time": 1541903400, "contest_duration": 5400, "user_num": 346, "question_slugs": ["reorder-data-in-log-files", "range-sum-of-bst", "minimum-area-rectangle", "distinct-subsequences-ii"]}, {"contest_title": "\u7b2c 111 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 111", "contest_title_slug": "weekly-contest-111", "contest_id": 34, "contest_start_time": 1542508200, "contest_duration": 5400, "user_num": 353, "question_slugs": ["valid-mountain-array", "delete-columns-to-make-sorted", "di-string-match", "find-the-shortest-superstring"]}, {"contest_title": "\u7b2c 112 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 112", "contest_title_slug": "weekly-contest-112", "contest_id": 35, "contest_start_time": 1543113000, "contest_duration": 5400, "user_num": 299, "question_slugs": ["minimum-increment-to-make-array-unique", "validate-stack-sequences", "most-stones-removed-with-same-row-or-column", "bag-of-tokens"]}, {"contest_title": "\u7b2c 113 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 113", "contest_title_slug": "weekly-contest-113", "contest_id": 36, "contest_start_time": 1543717800, "contest_duration": 5400, "user_num": 462, "question_slugs": ["largest-time-for-given-digits", "flip-equivalent-binary-trees", "reveal-cards-in-increasing-order", "largest-component-size-by-common-factor"]}, {"contest_title": "\u7b2c 114 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 114", "contest_title_slug": "weekly-contest-114", "contest_id": 37, "contest_start_time": 1544322600, "contest_duration": 5400, "user_num": 391, "question_slugs": ["verifying-an-alien-dictionary", "array-of-doubled-pairs", "delete-columns-to-make-sorted-ii", "tallest-billboard"]}, {"contest_title": "\u7b2c 115 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 115", "contest_title_slug": "weekly-contest-115", "contest_id": 38, "contest_start_time": 1544927400, "contest_duration": 5400, "user_num": 383, "question_slugs": ["prison-cells-after-n-days", "check-completeness-of-a-binary-tree", "regions-cut-by-slashes", "delete-columns-to-make-sorted-iii"]}, {"contest_title": "\u7b2c 116 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 116", "contest_title_slug": "weekly-contest-116", "contest_id": 39, "contest_start_time": 1545532200, "contest_duration": 5400, "user_num": 369, "question_slugs": ["n-repeated-element-in-size-2n-array", "maximum-width-ramp", "minimum-area-rectangle-ii", "least-operators-to-express-number"]}, {"contest_title": "\u7b2c 117 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 117", "contest_title_slug": "weekly-contest-117", "contest_id": 41, "contest_start_time": 1546137000, "contest_duration": 5400, "user_num": 657, "question_slugs": ["univalued-binary-tree", "numbers-with-same-consecutive-differences", "vowel-spellchecker", "binary-tree-cameras"]}, {"contest_title": "\u7b2c 118 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 118", "contest_title_slug": "weekly-contest-118", "contest_id": 42, "contest_start_time": 1546741800, "contest_duration": 5400, "user_num": 383, "question_slugs": ["powerful-integers", "pancake-sorting", "flip-binary-tree-to-match-preorder-traversal", "equal-rational-numbers"]}, {"contest_title": "\u7b2c 119 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 119", "contest_title_slug": "weekly-contest-119", "contest_id": 43, "contest_start_time": 1547346600, "contest_duration": 5400, "user_num": 513, "question_slugs": ["k-closest-points-to-origin", "largest-perimeter-triangle", "subarray-sums-divisible-by-k", "odd-even-jump"]}, {"contest_title": "\u7b2c 120 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 120", "contest_title_slug": "weekly-contest-120", "contest_id": 44, "contest_start_time": 1547951400, "contest_duration": 5400, "user_num": 382, "question_slugs": ["squares-of-a-sorted-array", "longest-turbulent-subarray", "distribute-coins-in-binary-tree", "unique-paths-iii"]}, {"contest_title": "\u7b2c 121 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 121", "contest_title_slug": "weekly-contest-121", "contest_id": 45, "contest_start_time": 1548556200, "contest_duration": 5400, "user_num": 384, "question_slugs": ["string-without-aaa-or-bbb", "time-based-key-value-store", "minimum-cost-for-tickets", "triples-with-bitwise-and-equal-to-zero"]}, {"contest_title": "\u7b2c 122 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 122", "contest_title_slug": "weekly-contest-122", "contest_id": 46, "contest_start_time": 1549161000, "contest_duration": 5400, "user_num": 280, "question_slugs": ["sum-of-even-numbers-after-queries", "smallest-string-starting-from-leaf", "interval-list-intersections", "vertical-order-traversal-of-a-binary-tree"]}, {"contest_title": "\u7b2c 123 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 123", "contest_title_slug": "weekly-contest-123", "contest_id": 47, "contest_start_time": 1549765800, "contest_duration": 5400, "user_num": 247, "question_slugs": ["add-to-array-form-of-integer", "satisfiability-of-equality-equations", "broken-calculator", "subarrays-with-k-different-integers"]}, {"contest_title": "\u7b2c 124 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 124", "contest_title_slug": "weekly-contest-124", "contest_id": 48, "contest_start_time": 1550370600, "contest_duration": 5400, "user_num": 417, "question_slugs": ["cousins-in-binary-tree", "rotting-oranges", "minimum-number-of-k-consecutive-bit-flips", "number-of-squareful-arrays"]}, {"contest_title": "\u7b2c 125 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 125", "contest_title_slug": "weekly-contest-125", "contest_id": 49, "contest_start_time": 1550975400, "contest_duration": 5400, "user_num": 469, "question_slugs": ["find-the-town-judge", "available-captures-for-rook", "maximum-binary-tree-ii", "grid-illumination"]}, {"contest_title": "\u7b2c 126 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 126", "contest_title_slug": "weekly-contest-126", "contest_id": 50, "contest_start_time": 1551580200, "contest_duration": 5400, "user_num": 591, "question_slugs": ["find-common-characters", "check-if-word-is-valid-after-substitutions", "max-consecutive-ones-iii", "minimum-cost-to-merge-stones"]}, {"contest_title": "\u7b2c 127 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 127", "contest_title_slug": "weekly-contest-127", "contest_id": 52, "contest_start_time": 1552185000, "contest_duration": 5400, "user_num": 664, "question_slugs": ["maximize-sum-of-array-after-k-negations", "clumsy-factorial", "minimum-domino-rotations-for-equal-row", "construct-binary-search-tree-from-preorder-traversal"]}, {"contest_title": "\u7b2c 128 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 128", "contest_title_slug": "weekly-contest-128", "contest_id": 53, "contest_start_time": 1552789800, "contest_duration": 5400, "user_num": 1251, "question_slugs": ["complement-of-base-10-integer", "pairs-of-songs-with-total-durations-divisible-by-60", "capacity-to-ship-packages-within-d-days", "numbers-with-repeated-digits"]}, {"contest_title": "\u7b2c 129 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 129", "contest_title_slug": "weekly-contest-129", "contest_id": 54, "contest_start_time": 1553391000, "contest_duration": 5400, "user_num": 759, "question_slugs": ["partition-array-into-three-parts-with-equal-sum", "smallest-integer-divisible-by-k", "best-sightseeing-pair", "binary-string-with-substrings-representing-1-to-n"]}, {"contest_title": "\u7b2c 130 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 130", "contest_title_slug": "weekly-contest-130", "contest_id": 55, "contest_start_time": 1553999400, "contest_duration": 5400, "user_num": 1294, "question_slugs": ["binary-prefix-divisible-by-5", "convert-to-base-2", "next-greater-node-in-linked-list", "number-of-enclaves"]}, {"contest_title": "\u7b2c 131 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 131", "contest_title_slug": "weekly-contest-131", "contest_id": 56, "contest_start_time": 1554604200, "contest_duration": 5400, "user_num": 918, "question_slugs": ["remove-outermost-parentheses", "sum-of-root-to-leaf-binary-numbers", "camelcase-matching", "video-stitching"]}, {"contest_title": "\u7b2c 132 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 132", "contest_title_slug": "weekly-contest-132", "contest_id": 57, "contest_start_time": 1555209000, "contest_duration": 5400, "user_num": 1050, "question_slugs": ["divisor-game", "maximum-difference-between-node-and-ancestor", "longest-arithmetic-subsequence", "recover-a-tree-from-preorder-traversal"]}, {"contest_title": "\u7b2c 133 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 133", "contest_title_slug": "weekly-contest-133", "contest_id": 59, "contest_start_time": 1555813800, "contest_duration": 5400, "user_num": 999, "question_slugs": ["two-city-scheduling", "matrix-cells-in-distance-order", "maximum-sum-of-two-non-overlapping-subarrays", "stream-of-characters"]}, {"contest_title": "\u7b2c 134 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 134", "contest_title_slug": "weekly-contest-134", "contest_id": 64, "contest_start_time": 1556418600, "contest_duration": 5400, "user_num": 728, "question_slugs": ["moving-stones-until-consecutive", "coloring-a-border", "uncrossed-lines", "escape-a-large-maze"]}, {"contest_title": "\u7b2c 135 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 135", "contest_title_slug": "weekly-contest-135", "contest_id": 65, "contest_start_time": 1557023400, "contest_duration": 5400, "user_num": 549, "question_slugs": ["valid-boomerang", "binary-search-tree-to-greater-sum-tree", "minimum-score-triangulation-of-polygon", "moving-stones-until-consecutive-ii"]}, {"contest_title": "\u7b2c 136 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 136", "contest_title_slug": "weekly-contest-136", "contest_id": 66, "contest_start_time": 1557628200, "contest_duration": 5400, "user_num": 790, "question_slugs": ["robot-bounded-in-circle", "flower-planting-with-no-adjacent", "partition-array-for-maximum-sum", "longest-duplicate-substring"]}, {"contest_title": "\u7b2c 137 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 137", "contest_title_slug": "weekly-contest-137", "contest_id": 67, "contest_start_time": 1558233000, "contest_duration": 5400, "user_num": 766, "question_slugs": ["last-stone-weight", "remove-all-adjacent-duplicates-in-string", "longest-string-chain", "last-stone-weight-ii"]}, {"contest_title": "\u7b2c 138 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 138", "contest_title_slug": "weekly-contest-138", "contest_id": 68, "contest_start_time": 1558837800, "contest_duration": 5400, "user_num": 752, "question_slugs": ["height-checker", "grumpy-bookstore-owner", "previous-permutation-with-one-swap", "distant-barcodes"]}, {"contest_title": "\u7b2c 139 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 139", "contest_title_slug": "weekly-contest-139", "contest_id": 69, "contest_start_time": 1559442600, "contest_duration": 5400, "user_num": 785, "question_slugs": ["greatest-common-divisor-of-strings", "flip-columns-for-maximum-number-of-equal-rows", "adding-two-negabinary-numbers", "number-of-submatrices-that-sum-to-target"]}, {"contest_title": "\u7b2c 140 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 140", "contest_title_slug": "weekly-contest-140", "contest_id": 71, "contest_start_time": 1560047400, "contest_duration": 5400, "user_num": 660, "question_slugs": ["occurrences-after-bigram", "letter-tile-possibilities", "insufficient-nodes-in-root-to-leaf-paths", "smallest-subsequence-of-distinct-characters"]}, {"contest_title": "\u7b2c 141 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 141", "contest_title_slug": "weekly-contest-141", "contest_id": 72, "contest_start_time": 1560652200, "contest_duration": 5400, "user_num": 763, "question_slugs": ["duplicate-zeros", "largest-values-from-labels", "shortest-path-in-binary-matrix", "shortest-common-supersequence"]}, {"contest_title": "\u7b2c 142 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 142", "contest_title_slug": "weekly-contest-142", "contest_id": 74, "contest_start_time": 1561257000, "contest_duration": 5400, "user_num": 801, "question_slugs": ["statistics-from-a-large-sample", "car-pooling", "find-in-mountain-array", "brace-expansion-ii"]}, {"contest_title": "\u7b2c 143 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 143", "contest_title_slug": "weekly-contest-143", "contest_id": 84, "contest_start_time": 1561861800, "contest_duration": 5400, "user_num": 803, "question_slugs": ["distribute-candies-to-people", "path-in-zigzag-labelled-binary-tree", "filling-bookcase-shelves", "parsing-a-boolean-expression"]}, {"contest_title": "\u7b2c 144 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 144", "contest_title_slug": "weekly-contest-144", "contest_id": 86, "contest_start_time": 1562466600, "contest_duration": 5400, "user_num": 777, "question_slugs": ["defanging-an-ip-address", "corporate-flight-bookings", "delete-nodes-and-return-forest", "maximum-nesting-depth-of-two-valid-parentheses-strings"]}, {"contest_title": "\u7b2c 145 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 145", "contest_title_slug": "weekly-contest-145", "contest_id": 87, "contest_start_time": 1563071400, "contest_duration": 5400, "user_num": 1114, "question_slugs": ["relative-sort-array", "lowest-common-ancestor-of-deepest-leaves", "longest-well-performing-interval", "smallest-sufficient-team"]}, {"contest_title": "\u7b2c 146 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 146", "contest_title_slug": "weekly-contest-146", "contest_id": 89, "contest_start_time": 1563676200, "contest_duration": 5400, "user_num": 1189, "question_slugs": ["number-of-equivalent-domino-pairs", "shortest-path-with-alternating-colors", "minimum-cost-tree-from-leaf-values", "maximum-of-absolute-value-expression"]}, {"contest_title": "\u7b2c 147 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 147", "contest_title_slug": "weekly-contest-147", "contest_id": 90, "contest_start_time": 1564281000, "contest_duration": 5400, "user_num": 1132, "question_slugs": ["n-th-tribonacci-number", "alphabet-board-path", "largest-1-bordered-square", "stone-game-ii"]}, {"contest_title": "\u7b2c 148 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 148", "contest_title_slug": "weekly-contest-148", "contest_id": 93, "contest_start_time": 1564885800, "contest_duration": 5400, "user_num": 1251, "question_slugs": ["decrease-elements-to-make-array-zigzag", "binary-tree-coloring-game", "snapshot-array", "longest-chunked-palindrome-decomposition"]}, {"contest_title": "\u7b2c 149 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 149", "contest_title_slug": "weekly-contest-149", "contest_id": 94, "contest_start_time": 1565490600, "contest_duration": 5400, "user_num": 1351, "question_slugs": ["day-of-the-year", "number-of-dice-rolls-with-target-sum", "swap-for-longest-repeated-character-substring", "online-majority-element-in-subarray"]}, {"contest_title": "\u7b2c 150 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 150", "contest_title_slug": "weekly-contest-150", "contest_id": 96, "contest_start_time": 1566095400, "contest_duration": 5400, "user_num": 1473, "question_slugs": ["find-words-that-can-be-formed-by-characters", "maximum-level-sum-of-a-binary-tree", "as-far-from-land-as-possible", "last-substring-in-lexicographical-order"]}, {"contest_title": "\u7b2c 151 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 151", "contest_title_slug": "weekly-contest-151", "contest_id": 98, "contest_start_time": 1566700200, "contest_duration": 5400, "user_num": 1341, "question_slugs": ["invalid-transactions", "compare-strings-by-frequency-of-the-smallest-character", "remove-zero-sum-consecutive-nodes-from-linked-list", "dinner-plate-stacks"]}, {"contest_title": "\u7b2c 152 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 152", "contest_title_slug": "weekly-contest-152", "contest_id": 100, "contest_start_time": 1567305000, "contest_duration": 5400, "user_num": 1367, "question_slugs": ["prime-arrangements", "diet-plan-performance", "can-make-palindrome-from-substring", "number-of-valid-words-for-each-puzzle"]}, {"contest_title": "\u7b2c 153 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 153", "contest_title_slug": "weekly-contest-153", "contest_id": 102, "contest_start_time": 1567909800, "contest_duration": 5400, "user_num": 1434, "question_slugs": ["distance-between-bus-stops", "day-of-the-week", "maximum-subarray-sum-with-one-deletion", "make-array-strictly-increasing"]}, {"contest_title": "\u7b2c 154 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 154", "contest_title_slug": "weekly-contest-154", "contest_id": 106, "contest_start_time": 1568514600, "contest_duration": 5400, "user_num": 1299, "question_slugs": ["maximum-number-of-balloons", "reverse-substrings-between-each-pair-of-parentheses", "k-concatenation-maximum-sum", "critical-connections-in-a-network"]}, {"contest_title": "\u7b2c 155 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 155", "contest_title_slug": "weekly-contest-155", "contest_id": 107, "contest_start_time": 1569119400, "contest_duration": 5400, "user_num": 1603, "question_slugs": ["minimum-absolute-difference", "ugly-number-iii", "smallest-string-with-swaps", "sort-items-by-groups-respecting-dependencies"]}, {"contest_title": "\u7b2c 156 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 156", "contest_title_slug": "weekly-contest-156", "contest_id": 113, "contest_start_time": 1569724200, "contest_duration": 5400, "user_num": 1433, "question_slugs": ["unique-number-of-occurrences", "get-equal-substrings-within-budget", "remove-all-adjacent-duplicates-in-string-ii", "minimum-moves-to-reach-target-with-rotations"]}, {"contest_title": "\u7b2c 157 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 157", "contest_title_slug": "weekly-contest-157", "contest_id": 114, "contest_start_time": 1570329000, "contest_duration": 5400, "user_num": 1217, "question_slugs": ["minimum-cost-to-move-chips-to-the-same-position", "longest-arithmetic-subsequence-of-given-difference", "path-with-maximum-gold", "count-vowels-permutation"]}, {"contest_title": "\u7b2c 158 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 158", "contest_title_slug": "weekly-contest-158", "contest_id": 116, "contest_start_time": 1570933800, "contest_duration": 5400, "user_num": 1716, "question_slugs": ["split-a-string-in-balanced-strings", "queens-that-can-attack-the-king", "dice-roll-simulation", "maximum-equal-frequency"]}, {"contest_title": "\u7b2c 159 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 159", "contest_title_slug": "weekly-contest-159", "contest_id": 117, "contest_start_time": 1571538600, "contest_duration": 5400, "user_num": 1634, "question_slugs": ["check-if-it-is-a-straight-line", "remove-sub-folders-from-the-filesystem", "replace-the-substring-for-balanced-string", "maximum-profit-in-job-scheduling"]}, {"contest_title": "\u7b2c 160 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 160", "contest_title_slug": "weekly-contest-160", "contest_id": 119, "contest_start_time": 1572143400, "contest_duration": 5400, "user_num": 1692, "question_slugs": ["find-positive-integer-solution-for-a-given-equation", "circular-permutation-in-binary-representation", "maximum-length-of-a-concatenated-string-with-unique-characters", "tiling-a-rectangle-with-the-fewest-squares"]}, {"contest_title": "\u7b2c 161 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 161", "contest_title_slug": "weekly-contest-161", "contest_id": 120, "contest_start_time": 1572748200, "contest_duration": 5400, "user_num": 1610, "question_slugs": ["minimum-swaps-to-make-strings-equal", "count-number-of-nice-subarrays", "minimum-remove-to-make-valid-parentheses", "check-if-it-is-a-good-array"]}, {"contest_title": "\u7b2c 162 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 162", "contest_title_slug": "weekly-contest-162", "contest_id": 122, "contest_start_time": 1573353000, "contest_duration": 5400, "user_num": 1569, "question_slugs": ["cells-with-odd-values-in-a-matrix", "reconstruct-a-2-row-binary-matrix", "number-of-closed-islands", "maximum-score-words-formed-by-letters"]}, {"contest_title": "\u7b2c 163 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 163", "contest_title_slug": "weekly-contest-163", "contest_id": 123, "contest_start_time": 1573957800, "contest_duration": 5400, "user_num": 1605, "question_slugs": ["shift-2d-grid", "find-elements-in-a-contaminated-binary-tree", "greatest-sum-divisible-by-three", "minimum-moves-to-move-a-box-to-their-target-location"]}, {"contest_title": "\u7b2c 164 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 164", "contest_title_slug": "weekly-contest-164", "contest_id": 125, "contest_start_time": 1574562600, "contest_duration": 5400, "user_num": 1676, "question_slugs": ["minimum-time-visiting-all-points", "count-servers-that-communicate", "search-suggestions-system", "number-of-ways-to-stay-in-the-same-place-after-some-steps"]}, {"contest_title": "\u7b2c 165 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 165", "contest_title_slug": "weekly-contest-165", "contest_id": 128, "contest_start_time": 1575167400, "contest_duration": 5400, "user_num": 1660, "question_slugs": ["find-winner-on-a-tic-tac-toe-game", "number-of-burgers-with-no-waste-of-ingredients", "count-square-submatrices-with-all-ones", "palindrome-partitioning-iii"]}, {"contest_title": "\u7b2c 166 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 166", "contest_title_slug": "weekly-contest-166", "contest_id": 130, "contest_start_time": 1575772200, "contest_duration": 5400, "user_num": 1676, "question_slugs": ["subtract-the-product-and-sum-of-digits-of-an-integer", "group-the-people-given-the-group-size-they-belong-to", "find-the-smallest-divisor-given-a-threshold", "minimum-number-of-flips-to-convert-binary-matrix-to-zero-matrix"]}, {"contest_title": "\u7b2c 167 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 167", "contest_title_slug": "weekly-contest-167", "contest_id": 131, "contest_start_time": 1576377000, "contest_duration": 5400, "user_num": 1537, "question_slugs": ["convert-binary-number-in-a-linked-list-to-integer", "sequential-digits", "maximum-side-length-of-a-square-with-sum-less-than-or-equal-to-threshold", "shortest-path-in-a-grid-with-obstacles-elimination"]}, {"contest_title": "\u7b2c 168 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 168", "contest_title_slug": "weekly-contest-168", "contest_id": 133, "contest_start_time": 1576981800, "contest_duration": 5400, "user_num": 1553, "question_slugs": ["find-numbers-with-even-number-of-digits", "divide-array-in-sets-of-k-consecutive-numbers", "maximum-number-of-occurrences-of-a-substring", "maximum-candies-you-can-get-from-boxes"]}, {"contest_title": "\u7b2c 169 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 169", "contest_title_slug": "weekly-contest-169", "contest_id": 134, "contest_start_time": 1577586600, "contest_duration": 5400, "user_num": 1568, "question_slugs": ["find-n-unique-integers-sum-up-to-zero", "all-elements-in-two-binary-search-trees", "jump-game-iii", "verbal-arithmetic-puzzle"]}, {"contest_title": "\u7b2c 170 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 170", "contest_title_slug": "weekly-contest-170", "contest_id": 136, "contest_start_time": 1578191400, "contest_duration": 5400, "user_num": 1649, "question_slugs": ["decrypt-string-from-alphabet-to-integer-mapping", "xor-queries-of-a-subarray", "get-watched-videos-by-your-friends", "minimum-insertion-steps-to-make-a-string-palindrome"]}, {"contest_title": "\u7b2c 171 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 171", "contest_title_slug": "weekly-contest-171", "contest_id": 137, "contest_start_time": 1578796200, "contest_duration": 5400, "user_num": 1708, "question_slugs": ["convert-integer-to-the-sum-of-two-no-zero-integers", "minimum-flips-to-make-a-or-b-equal-to-c", "number-of-operations-to-make-network-connected", "minimum-distance-to-type-a-word-using-two-fingers"]}, {"contest_title": "\u7b2c 172 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 172", "contest_title_slug": "weekly-contest-172", "contest_id": 139, "contest_start_time": 1579401000, "contest_duration": 5400, "user_num": 1415, "question_slugs": ["maximum-69-number", "print-words-vertically", "delete-leaves-with-a-given-value", "minimum-number-of-taps-to-open-to-water-a-garden"]}, {"contest_title": "\u7b2c 173 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 173", "contest_title_slug": "weekly-contest-173", "contest_id": 142, "contest_start_time": 1580005800, "contest_duration": 5400, "user_num": 1072, "question_slugs": ["remove-palindromic-subsequences", "filter-restaurants-by-vegan-friendly-price-and-distance", "find-the-city-with-the-smallest-number-of-neighbors-at-a-threshold-distance", "minimum-difficulty-of-a-job-schedule"]}, {"contest_title": "\u7b2c 174 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 174", "contest_title_slug": "weekly-contest-174", "contest_id": 144, "contest_start_time": 1580610600, "contest_duration": 5400, "user_num": 1660, "question_slugs": ["the-k-weakest-rows-in-a-matrix", "reduce-array-size-to-the-half", "maximum-product-of-splitted-binary-tree", "jump-game-v"]}, {"contest_title": "\u7b2c 175 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 175", "contest_title_slug": "weekly-contest-175", "contest_id": 145, "contest_start_time": 1581215400, "contest_duration": 5400, "user_num": 2048, "question_slugs": ["check-if-n-and-its-double-exist", "minimum-number-of-steps-to-make-two-strings-anagram", "tweet-counts-per-frequency", "maximum-students-taking-exam"]}, {"contest_title": "\u7b2c 176 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 176", "contest_title_slug": "weekly-contest-176", "contest_id": 147, "contest_start_time": 1581820200, "contest_duration": 5400, "user_num": 2410, "question_slugs": ["count-negative-numbers-in-a-sorted-matrix", "product-of-the-last-k-numbers", "maximum-number-of-events-that-can-be-attended", "construct-target-array-with-multiple-sums"]}, {"contest_title": "\u7b2c 177 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 177", "contest_title_slug": "weekly-contest-177", "contest_id": 148, "contest_start_time": 1582425000, "contest_duration": 5400, "user_num": 2986, "question_slugs": ["number-of-days-between-two-dates", "validate-binary-tree-nodes", "closest-divisors", "largest-multiple-of-three"]}, {"contest_title": "\u7b2c 178 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 178", "contest_title_slug": "weekly-contest-178", "contest_id": 154, "contest_start_time": 1583029800, "contest_duration": 5400, "user_num": 3305, "question_slugs": ["how-many-numbers-are-smaller-than-the-current-number", "rank-teams-by-votes", "linked-list-in-binary-tree", "minimum-cost-to-make-at-least-one-valid-path-in-a-grid"]}, {"contest_title": "\u7b2c 179 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 179", "contest_title_slug": "weekly-contest-179", "contest_id": 156, "contest_start_time": 1583634600, "contest_duration": 5400, "user_num": 3606, "question_slugs": ["generate-a-string-with-characters-that-have-odd-counts", "number-of-times-binary-string-is-prefix-aligned", "time-needed-to-inform-all-employees", "frog-position-after-t-seconds"]}, {"contest_title": "\u7b2c 180 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 180", "contest_title_slug": "weekly-contest-180", "contest_id": 160, "contest_start_time": 1584239400, "contest_duration": 5400, "user_num": 3715, "question_slugs": ["lucky-numbers-in-a-matrix", "design-a-stack-with-increment-operation", "balance-a-binary-search-tree", "maximum-performance-of-a-team"]}, {"contest_title": "\u7b2c 181 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 181", "contest_title_slug": "weekly-contest-181", "contest_id": 162, "contest_start_time": 1584844200, "contest_duration": 5400, "user_num": 4149, "question_slugs": ["create-target-array-in-the-given-order", "four-divisors", "check-if-there-is-a-valid-path-in-a-grid", "longest-happy-prefix"]}, {"contest_title": "\u7b2c 182 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 182", "contest_title_slug": "weekly-contest-182", "contest_id": 166, "contest_start_time": 1585449000, "contest_duration": 5400, "user_num": 3911, "question_slugs": ["find-lucky-integer-in-an-array", "count-number-of-teams", "design-underground-system", "find-all-good-strings"]}, {"contest_title": "\u7b2c 183 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 183", "contest_title_slug": "weekly-contest-183", "contest_id": 168, "contest_start_time": 1586053800, "contest_duration": 5400, "user_num": 3756, "question_slugs": ["minimum-subsequence-in-non-increasing-order", "number-of-steps-to-reduce-a-number-in-binary-representation-to-one", "longest-happy-string", "stone-game-iii"]}, {"contest_title": "\u7b2c 184 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 184", "contest_title_slug": "weekly-contest-184", "contest_id": 175, "contest_start_time": 1586658600, "contest_duration": 5400, "user_num": 3847, "question_slugs": ["string-matching-in-an-array", "queries-on-a-permutation-with-key", "html-entity-parser", "number-of-ways-to-paint-n-3-grid"]}, {"contest_title": "\u7b2c 185 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 185", "contest_title_slug": "weekly-contest-185", "contest_id": 177, "contest_start_time": 1587263400, "contest_duration": 5400, "user_num": 5004, "question_slugs": ["reformat-the-string", "display-table-of-food-orders-in-a-restaurant", "minimum-number-of-frogs-croaking", "build-array-where-you-can-find-the-maximum-exactly-k-comparisons"]}, {"contest_title": "\u7b2c 186 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 186", "contest_title_slug": "weekly-contest-186", "contest_id": 185, "contest_start_time": 1587868200, "contest_duration": 5400, "user_num": 3108, "question_slugs": ["maximum-score-after-splitting-a-string", "maximum-points-you-can-obtain-from-cards", "diagonal-traverse-ii", "constrained-subsequence-sum"]}, {"contest_title": "\u7b2c 187 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 187", "contest_title_slug": "weekly-contest-187", "contest_id": 191, "contest_start_time": 1588473000, "contest_duration": 5400, "user_num": 3109, "question_slugs": ["destination-city", "check-if-all-1s-are-at-least-length-k-places-away", "longest-continuous-subarray-with-absolute-diff-less-than-or-equal-to-limit", "find-the-kth-smallest-sum-of-a-matrix-with-sorted-rows"]}, {"contest_title": "\u7b2c 188 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 188", "contest_title_slug": "weekly-contest-188", "contest_id": 195, "contest_start_time": 1589077800, "contest_duration": 5400, "user_num": 3982, "question_slugs": ["build-an-array-with-stack-operations", "count-triplets-that-can-form-two-arrays-of-equal-xor", "minimum-time-to-collect-all-apples-in-a-tree", "number-of-ways-of-cutting-a-pizza"]}, {"contest_title": "\u7b2c 189 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 189", "contest_title_slug": "weekly-contest-189", "contest_id": 197, "contest_start_time": 1589682600, "contest_duration": 5400, "user_num": 3692, "question_slugs": ["number-of-students-doing-homework-at-a-given-time", "rearrange-words-in-a-sentence", "people-whose-list-of-favorite-companies-is-not-a-subset-of-another-list", "maximum-number-of-darts-inside-of-a-circular-dartboard"]}, {"contest_title": "\u7b2c 190 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 190", "contest_title_slug": "weekly-contest-190", "contest_id": 201, "contest_start_time": 1590287400, "contest_duration": 5400, "user_num": 3352, "question_slugs": ["check-if-a-word-occurs-as-a-prefix-of-any-word-in-a-sentence", "maximum-number-of-vowels-in-a-substring-of-given-length", "pseudo-palindromic-paths-in-a-binary-tree", "max-dot-product-of-two-subsequences"]}, {"contest_title": "\u7b2c 191 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 191", "contest_title_slug": "weekly-contest-191", "contest_id": 203, "contest_start_time": 1590892200, "contest_duration": 5400, "user_num": 3687, "question_slugs": ["maximum-product-of-two-elements-in-an-array", "maximum-area-of-a-piece-of-cake-after-horizontal-and-vertical-cuts", "reorder-routes-to-make-all-paths-lead-to-the-city-zero", "probability-of-a-two-boxes-having-the-same-number-of-distinct-balls"]}, {"contest_title": "\u7b2c 192 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 192", "contest_title_slug": "weekly-contest-192", "contest_id": 207, "contest_start_time": 1591497000, "contest_duration": 5400, "user_num": 3615, "question_slugs": ["shuffle-the-array", "the-k-strongest-values-in-an-array", "design-browser-history", "paint-house-iii"]}, {"contest_title": "\u7b2c 193 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 193", "contest_title_slug": "weekly-contest-193", "contest_id": 209, "contest_start_time": 1592101800, "contest_duration": 5400, "user_num": 3804, "question_slugs": ["running-sum-of-1d-array", "least-number-of-unique-integers-after-k-removals", "minimum-number-of-days-to-make-m-bouquets", "kth-ancestor-of-a-tree-node"]}, {"contest_title": "\u7b2c 194 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 194", "contest_title_slug": "weekly-contest-194", "contest_id": 213, "contest_start_time": 1592706600, "contest_duration": 5400, "user_num": 4378, "question_slugs": ["xor-operation-in-an-array", "making-file-names-unique", "avoid-flood-in-the-city", "find-critical-and-pseudo-critical-edges-in-minimum-spanning-tree"]}, {"contest_title": "\u7b2c 195 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 195", "contest_title_slug": "weekly-contest-195", "contest_id": 215, "contest_start_time": 1593311400, "contest_duration": 5400, "user_num": 3401, "question_slugs": ["path-crossing", "check-if-array-pairs-are-divisible-by-k", "number-of-subsequences-that-satisfy-the-given-sum-condition", "max-value-of-equation"]}, {"contest_title": "\u7b2c 196 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 196", "contest_title_slug": "weekly-contest-196", "contest_id": 219, "contest_start_time": 1593916200, "contest_duration": 5400, "user_num": 5507, "question_slugs": ["can-make-arithmetic-progression-from-sequence", "last-moment-before-all-ants-fall-out-of-a-plank", "count-submatrices-with-all-ones", "minimum-possible-integer-after-at-most-k-adjacent-swaps-on-digits"]}, {"contest_title": "\u7b2c 197 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 197", "contest_title_slug": "weekly-contest-197", "contest_id": 221, "contest_start_time": 1594521000, "contest_duration": 5400, "user_num": 5275, "question_slugs": ["number-of-good-pairs", "number-of-substrings-with-only-1s", "path-with-maximum-probability", "best-position-for-a-service-centre"]}, {"contest_title": "\u7b2c 198 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 198", "contest_title_slug": "weekly-contest-198", "contest_id": 226, "contest_start_time": 1595125800, "contest_duration": 5400, "user_num": 5780, "question_slugs": ["water-bottles", "number-of-nodes-in-the-sub-tree-with-the-same-label", "maximum-number-of-non-overlapping-substrings", "find-a-value-of-a-mysterious-function-closest-to-target"]}, {"contest_title": "\u7b2c 199 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 199", "contest_title_slug": "weekly-contest-199", "contest_id": 228, "contest_start_time": 1595730600, "contest_duration": 5400, "user_num": 5232, "question_slugs": ["shuffle-string", "minimum-suffix-flips", "number-of-good-leaf-nodes-pairs", "string-compression-ii"]}, {"contest_title": "\u7b2c 200 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 200", "contest_title_slug": "weekly-contest-200", "contest_id": 235, "contest_start_time": 1596335400, "contest_duration": 5400, "user_num": 5476, "question_slugs": ["count-good-triplets", "find-the-winner-of-an-array-game", "minimum-swaps-to-arrange-a-binary-grid", "get-the-maximum-score"]}, {"contest_title": "\u7b2c 201 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 201", "contest_title_slug": "weekly-contest-201", "contest_id": 238, "contest_start_time": 1596940200, "contest_duration": 5400, "user_num": 5615, "question_slugs": ["make-the-string-great", "find-kth-bit-in-nth-binary-string", "maximum-number-of-non-overlapping-subarrays-with-sum-equals-target", "minimum-cost-to-cut-a-stick"]}, {"contest_title": "\u7b2c 202 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 202", "contest_title_slug": "weekly-contest-202", "contest_id": 242, "contest_start_time": 1597545000, "contest_duration": 5400, "user_num": 4990, "question_slugs": ["three-consecutive-odds", "minimum-operations-to-make-array-equal", "magnetic-force-between-two-balls", "minimum-number-of-days-to-eat-n-oranges"]}, {"contest_title": "\u7b2c 203 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 203", "contest_title_slug": "weekly-contest-203", "contest_id": 244, "contest_start_time": 1598149800, "contest_duration": 5400, "user_num": 5285, "question_slugs": ["most-visited-sector-in-a-circular-track", "maximum-number-of-coins-you-can-get", "find-latest-group-of-size-m", "stone-game-v"]}, {"contest_title": "\u7b2c 204 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 204", "contest_title_slug": "weekly-contest-204", "contest_id": 257, "contest_start_time": 1598754600, "contest_duration": 5400, "user_num": 4487, "question_slugs": ["detect-pattern-of-length-m-repeated-k-or-more-times", "maximum-length-of-subarray-with-positive-product", "minimum-number-of-days-to-disconnect-island", "number-of-ways-to-reorder-array-to-get-same-bst"]}, {"contest_title": "\u7b2c 205 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 205", "contest_title_slug": "weekly-contest-205", "contest_id": 260, "contest_start_time": 1599359400, "contest_duration": 5400, "user_num": 4176, "question_slugs": ["replace-all-s-to-avoid-consecutive-repeating-characters", "number-of-ways-where-square-of-number-is-equal-to-product-of-two-numbers", "minimum-time-to-make-rope-colorful", "remove-max-number-of-edges-to-keep-graph-fully-traversable"]}, {"contest_title": "\u7b2c 206 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 206", "contest_title_slug": "weekly-contest-206", "contest_id": 267, "contest_start_time": 1599964200, "contest_duration": 5400, "user_num": 4493, "question_slugs": ["special-positions-in-a-binary-matrix", "count-unhappy-friends", "min-cost-to-connect-all-points", "check-if-string-is-transformable-with-substring-sort-operations"]}, {"contest_title": "\u7b2c 207 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 207", "contest_title_slug": "weekly-contest-207", "contest_id": 278, "contest_start_time": 1600569000, "contest_duration": 5400, "user_num": 4116, "question_slugs": ["rearrange-spaces-between-words", "split-a-string-into-the-max-number-of-unique-substrings", "maximum-non-negative-product-in-a-matrix", "minimum-cost-to-connect-two-groups-of-points"]}, {"contest_title": "\u7b2c 208 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 208", "contest_title_slug": "weekly-contest-208", "contest_id": 289, "contest_start_time": 1601173800, "contest_duration": 5400, "user_num": 3582, "question_slugs": ["crawler-log-folder", "maximum-profit-of-operating-a-centennial-wheel", "throne-inheritance", "maximum-number-of-achievable-transfer-requests"]}, {"contest_title": "\u7b2c 209 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 209", "contest_title_slug": "weekly-contest-209", "contest_id": 291, "contest_start_time": 1601778600, "contest_duration": 5400, "user_num": 4023, "question_slugs": ["special-array-with-x-elements-greater-than-or-equal-x", "even-odd-tree", "maximum-number-of-visible-points", "minimum-one-bit-operations-to-make-integers-zero"]}, {"contest_title": "\u7b2c 210 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 210", "contest_title_slug": "weekly-contest-210", "contest_id": 295, "contest_start_time": 1602383400, "contest_duration": 5400, "user_num": 4007, "question_slugs": ["maximum-nesting-depth-of-the-parentheses", "maximal-network-rank", "split-two-strings-to-make-palindrome", "count-subtrees-with-max-distance-between-cities"]}, {"contest_title": "\u7b2c 211 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 211", "contest_title_slug": "weekly-contest-211", "contest_id": 297, "contest_start_time": 1602988200, "contest_duration": 5400, "user_num": 4034, "question_slugs": ["largest-substring-between-two-equal-characters", "lexicographically-smallest-string-after-applying-operations", "best-team-with-no-conflicts", "graph-connectivity-with-threshold"]}, {"contest_title": "\u7b2c 212 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 212", "contest_title_slug": "weekly-contest-212", "contest_id": 301, "contest_start_time": 1603593000, "contest_duration": 5400, "user_num": 4227, "question_slugs": ["slowest-key", "arithmetic-subarrays", "path-with-minimum-effort", "rank-transform-of-a-matrix"]}, {"contest_title": "\u7b2c 213 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 213", "contest_title_slug": "weekly-contest-213", "contest_id": 303, "contest_start_time": 1604197800, "contest_duration": 5400, "user_num": 3827, "question_slugs": ["check-array-formation-through-concatenation", "count-sorted-vowel-strings", "furthest-building-you-can-reach", "kth-smallest-instructions"]}, {"contest_title": "\u7b2c 214 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 214", "contest_title_slug": "weekly-contest-214", "contest_id": 307, "contest_start_time": 1604802600, "contest_duration": 5400, "user_num": 3598, "question_slugs": ["get-maximum-in-generated-array", "minimum-deletions-to-make-character-frequencies-unique", "sell-diminishing-valued-colored-balls", "create-sorted-array-through-instructions"]}, {"contest_title": "\u7b2c 215 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 215", "contest_title_slug": "weekly-contest-215", "contest_id": 309, "contest_start_time": 1605407400, "contest_duration": 5400, "user_num": 4429, "question_slugs": ["design-an-ordered-stream", "determine-if-two-strings-are-close", "minimum-operations-to-reduce-x-to-zero", "maximize-grid-happiness"]}, {"contest_title": "\u7b2c 216 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 216", "contest_title_slug": "weekly-contest-216", "contest_id": 313, "contest_start_time": 1606012200, "contest_duration": 5400, "user_num": 3857, "question_slugs": ["check-if-two-string-arrays-are-equivalent", "smallest-string-with-a-given-numeric-value", "ways-to-make-a-fair-array", "minimum-initial-energy-to-finish-tasks"]}, {"contest_title": "\u7b2c 217 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 217", "contest_title_slug": "weekly-contest-217", "contest_id": 315, "contest_start_time": 1606617000, "contest_duration": 5400, "user_num": 3745, "question_slugs": ["richest-customer-wealth", "find-the-most-competitive-subsequence", "minimum-moves-to-make-array-complementary", "minimize-deviation-in-array"]}, {"contest_title": "\u7b2c 218 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 218", "contest_title_slug": "weekly-contest-218", "contest_id": 319, "contest_start_time": 1607221800, "contest_duration": 5400, "user_num": 3762, "question_slugs": ["goal-parser-interpretation", "max-number-of-k-sum-pairs", "concatenation-of-consecutive-binary-numbers", "minimum-incompatibility"]}, {"contest_title": "\u7b2c 219 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 219", "contest_title_slug": "weekly-contest-219", "contest_id": 322, "contest_start_time": 1607826600, "contest_duration": 5400, "user_num": 3710, "question_slugs": ["count-of-matches-in-tournament", "partitioning-into-minimum-number-of-deci-binary-numbers", "stone-game-vii", "maximum-height-by-stacking-cuboids"]}, {"contest_title": "\u7b2c 220 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 220", "contest_title_slug": "weekly-contest-220", "contest_id": 326, "contest_start_time": 1608431400, "contest_duration": 5400, "user_num": 3691, "question_slugs": ["reformat-phone-number", "maximum-erasure-value", "jump-game-vi", "checking-existence-of-edge-length-limited-paths"]}, {"contest_title": "\u7b2c 221 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 221", "contest_title_slug": "weekly-contest-221", "contest_id": 328, "contest_start_time": 1609036200, "contest_duration": 5400, "user_num": 3398, "question_slugs": ["determine-if-string-halves-are-alike", "maximum-number-of-eaten-apples", "where-will-the-ball-fall", "maximum-xor-with-an-element-from-array"]}, {"contest_title": "\u7b2c 222 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 222", "contest_title_slug": "weekly-contest-222", "contest_id": 332, "contest_start_time": 1609641000, "contest_duration": 5400, "user_num": 3119, "question_slugs": ["maximum-units-on-a-truck", "count-good-meals", "ways-to-split-array-into-three-subarrays", "minimum-operations-to-make-a-subsequence"]}, {"contest_title": "\u7b2c 223 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 223", "contest_title_slug": "weekly-contest-223", "contest_id": 334, "contest_start_time": 1610245800, "contest_duration": 5400, "user_num": 3872, "question_slugs": ["decode-xored-array", "swapping-nodes-in-a-linked-list", "minimize-hamming-distance-after-swap-operations", "find-minimum-time-to-finish-all-jobs"]}, {"contest_title": "\u7b2c 224 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 224", "contest_title_slug": "weekly-contest-224", "contest_id": 338, "contest_start_time": 1610850600, "contest_duration": 5400, "user_num": 3795, "question_slugs": ["number-of-rectangles-that-can-form-the-largest-square", "tuple-with-same-product", "largest-submatrix-with-rearrangements", "cat-and-mouse-ii"]}, {"contest_title": "\u7b2c 225 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 225", "contest_title_slug": "weekly-contest-225", "contest_id": 340, "contest_start_time": 1611455400, "contest_duration": 5400, "user_num": 3853, "question_slugs": ["latest-time-by-replacing-hidden-digits", "change-minimum-characters-to-satisfy-one-of-three-conditions", "find-kth-largest-xor-coordinate-value", "building-boxes"]}, {"contest_title": "\u7b2c 226 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 226", "contest_title_slug": "weekly-contest-226", "contest_id": 344, "contest_start_time": 1612060200, "contest_duration": 5400, "user_num": 4034, "question_slugs": ["maximum-number-of-balls-in-a-box", "restore-the-array-from-adjacent-pairs", "can-you-eat-your-favorite-candy-on-your-favorite-day", "palindrome-partitioning-iv"]}, {"contest_title": "\u7b2c 227 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 227", "contest_title_slug": "weekly-contest-227", "contest_id": 346, "contest_start_time": 1612665000, "contest_duration": 5400, "user_num": 3546, "question_slugs": ["check-if-array-is-sorted-and-rotated", "maximum-score-from-removing-stones", "largest-merge-of-two-strings", "closest-subsequence-sum"]}, {"contest_title": "\u7b2c 228 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 228", "contest_title_slug": "weekly-contest-228", "contest_id": 350, "contest_start_time": 1613269800, "contest_duration": 5400, "user_num": 2484, "question_slugs": ["minimum-changes-to-make-alternating-binary-string", "count-number-of-homogenous-substrings", "minimum-limit-of-balls-in-a-bag", "minimum-degree-of-a-connected-trio-in-a-graph"]}, {"contest_title": "\u7b2c 229 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 229", "contest_title_slug": "weekly-contest-229", "contest_id": 352, "contest_start_time": 1613874600, "contest_duration": 5400, "user_num": 3484, "question_slugs": ["merge-strings-alternately", "minimum-number-of-operations-to-move-all-balls-to-each-box", "maximum-score-from-performing-multiplication-operations", "maximize-palindrome-length-from-subsequences"]}, {"contest_title": "\u7b2c 230 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 230", "contest_title_slug": "weekly-contest-230", "contest_id": 356, "contest_start_time": 1614479400, "contest_duration": 5400, "user_num": 3728, "question_slugs": ["count-items-matching-a-rule", "closest-dessert-cost", "equal-sum-arrays-with-minimum-number-of-operations", "car-fleet-ii"]}, {"contest_title": "\u7b2c 231 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 231", "contest_title_slug": "weekly-contest-231", "contest_id": 358, "contest_start_time": 1615084200, "contest_duration": 5400, "user_num": 4668, "question_slugs": ["check-if-binary-string-has-at-most-one-segment-of-ones", "minimum-elements-to-add-to-form-a-given-sum", "number-of-restricted-paths-from-first-to-last-node", "make-the-xor-of-all-segments-equal-to-zero"]}, {"contest_title": "\u7b2c 232 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 232", "contest_title_slug": "weekly-contest-232", "contest_id": 363, "contest_start_time": 1615689000, "contest_duration": 5400, "user_num": 4802, "question_slugs": ["check-if-one-string-swap-can-make-strings-equal", "find-center-of-star-graph", "maximum-average-pass-ratio", "maximum-score-of-a-good-subarray"]}, {"contest_title": "\u7b2c 233 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 233", "contest_title_slug": "weekly-contest-233", "contest_id": 371, "contest_start_time": 1616293800, "contest_duration": 5400, "user_num": 5010, "question_slugs": ["maximum-ascending-subarray-sum", "number-of-orders-in-the-backlog", "maximum-value-at-a-given-index-in-a-bounded-array", "count-pairs-with-xor-in-a-range"]}, {"contest_title": "\u7b2c 234 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 234", "contest_title_slug": "weekly-contest-234", "contest_id": 375, "contest_start_time": 1616898600, "contest_duration": 5400, "user_num": 4998, "question_slugs": ["number-of-different-integers-in-a-string", "minimum-number-of-operations-to-reinitialize-a-permutation", "evaluate-the-bracket-pairs-of-a-string", "maximize-number-of-nice-divisors"]}, {"contest_title": "\u7b2c 235 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 235", "contest_title_slug": "weekly-contest-235", "contest_id": 377, "contest_start_time": 1617503400, "contest_duration": 5400, "user_num": 4494, "question_slugs": ["truncate-sentence", "finding-the-users-active-minutes", "minimum-absolute-sum-difference", "number-of-different-subsequences-gcds"]}, {"contest_title": "\u7b2c 236 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 236", "contest_title_slug": "weekly-contest-236", "contest_id": 391, "contest_start_time": 1618108200, "contest_duration": 5400, "user_num": 5113, "question_slugs": ["sign-of-the-product-of-an-array", "find-the-winner-of-the-circular-game", "minimum-sideway-jumps", "finding-mk-average"]}, {"contest_title": "\u7b2c 237 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 237", "contest_title_slug": "weekly-contest-237", "contest_id": 393, "contest_start_time": 1618713000, "contest_duration": 5400, "user_num": 4577, "question_slugs": ["check-if-the-sentence-is-pangram", "maximum-ice-cream-bars", "single-threaded-cpu", "find-xor-sum-of-all-pairs-bitwise-and"]}, {"contest_title": "\u7b2c 238 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 238", "contest_title_slug": "weekly-contest-238", "contest_id": 397, "contest_start_time": 1619317800, "contest_duration": 5400, "user_num": 3978, "question_slugs": ["sum-of-digits-in-base-k", "frequency-of-the-most-frequent-element", "longest-substring-of-all-vowels-in-order", "maximum-building-height"]}, {"contest_title": "\u7b2c 239 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 239", "contest_title_slug": "weekly-contest-239", "contest_id": 399, "contest_start_time": 1619922600, "contest_duration": 5400, "user_num": 3907, "question_slugs": ["minimum-distance-to-the-target-element", "splitting-a-string-into-descending-consecutive-values", "minimum-adjacent-swaps-to-reach-the-kth-smallest-number", "minimum-interval-to-include-each-query"]}, {"contest_title": "\u7b2c 240 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 240", "contest_title_slug": "weekly-contest-240", "contest_id": 403, "contest_start_time": 1620527400, "contest_duration": 5400, "user_num": 4307, "question_slugs": ["maximum-population-year", "maximum-distance-between-a-pair-of-values", "maximum-subarray-min-product", "largest-color-value-in-a-directed-graph"]}, {"contest_title": "\u7b2c 241 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 241", "contest_title_slug": "weekly-contest-241", "contest_id": 405, "contest_start_time": 1621132200, "contest_duration": 5400, "user_num": 4491, "question_slugs": ["sum-of-all-subset-xor-totals", "minimum-number-of-swaps-to-make-the-binary-string-alternating", "finding-pairs-with-a-certain-sum", "number-of-ways-to-rearrange-sticks-with-k-sticks-visible"]}, {"contest_title": "\u7b2c 242 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 242", "contest_title_slug": "weekly-contest-242", "contest_id": 409, "contest_start_time": 1621737000, "contest_duration": 5400, "user_num": 4306, "question_slugs": ["longer-contiguous-segments-of-ones-than-zeros", "minimum-speed-to-arrive-on-time", "jump-game-vii", "stone-game-viii"]}, {"contest_title": "\u7b2c 243 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 243", "contest_title_slug": "weekly-contest-243", "contest_id": 411, "contest_start_time": 1622341800, "contest_duration": 5400, "user_num": 4493, "question_slugs": ["check-if-word-equals-summation-of-two-words", "maximum-value-after-insertion", "process-tasks-using-servers", "minimum-skips-to-arrive-at-meeting-on-time"]}, {"contest_title": "\u7b2c 244 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 244", "contest_title_slug": "weekly-contest-244", "contest_id": 415, "contest_start_time": 1622946600, "contest_duration": 5400, "user_num": 4430, "question_slugs": ["determine-whether-matrix-can-be-obtained-by-rotation", "reduction-operations-to-make-the-array-elements-equal", "minimum-number-of-flips-to-make-the-binary-string-alternating", "minimum-space-wasted-from-packaging"]}, {"contest_title": "\u7b2c 245 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 245", "contest_title_slug": "weekly-contest-245", "contest_id": 417, "contest_start_time": 1623551400, "contest_duration": 5400, "user_num": 4271, "question_slugs": ["redistribute-characters-to-make-all-strings-equal", "maximum-number-of-removable-characters", "merge-triplets-to-form-target-triplet", "the-earliest-and-latest-rounds-where-players-compete"]}, {"contest_title": "\u7b2c 246 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 246", "contest_title_slug": "weekly-contest-246", "contest_id": 422, "contest_start_time": 1624156200, "contest_duration": 5400, "user_num": 4136, "question_slugs": ["largest-odd-number-in-string", "the-number-of-full-rounds-you-have-played", "count-sub-islands", "minimum-absolute-difference-queries"]}, {"contest_title": "\u7b2c 247 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 247", "contest_title_slug": "weekly-contest-247", "contest_id": 426, "contest_start_time": 1624761000, "contest_duration": 5400, "user_num": 3981, "question_slugs": ["maximum-product-difference-between-two-pairs", "cyclically-rotating-a-grid", "number-of-wonderful-substrings", "count-ways-to-build-rooms-in-an-ant-colony"]}, {"contest_title": "\u7b2c 248 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 248", "contest_title_slug": "weekly-contest-248", "contest_id": 430, "contest_start_time": 1625365800, "contest_duration": 5400, "user_num": 4451, "question_slugs": ["build-array-from-permutation", "eliminate-maximum-number-of-monsters", "count-good-numbers", "longest-common-subpath"]}, {"contest_title": "\u7b2c 249 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 249", "contest_title_slug": "weekly-contest-249", "contest_id": 432, "contest_start_time": 1625970600, "contest_duration": 5400, "user_num": 4335, "question_slugs": ["concatenation-of-array", "unique-length-3-palindromic-subsequences", "painting-a-grid-with-three-different-colors", "merge-bsts-to-create-single-bst"]}, {"contest_title": "\u7b2c 250 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 250", "contest_title_slug": "weekly-contest-250", "contest_id": 436, "contest_start_time": 1626575400, "contest_duration": 5400, "user_num": 4315, "question_slugs": ["maximum-number-of-words-you-can-type", "add-minimum-number-of-rungs", "maximum-number-of-points-with-cost", "maximum-genetic-difference-query"]}, {"contest_title": "\u7b2c 251 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 251", "contest_title_slug": "weekly-contest-251", "contest_id": 438, "contest_start_time": 1627180200, "contest_duration": 5400, "user_num": 4747, "question_slugs": ["sum-of-digits-of-string-after-convert", "largest-number-after-mutating-substring", "maximum-compatibility-score-sum", "delete-duplicate-folders-in-system"]}, {"contest_title": "\u7b2c 252 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 252", "contest_title_slug": "weekly-contest-252", "contest_id": 442, "contest_start_time": 1627785000, "contest_duration": 5400, "user_num": 4647, "question_slugs": ["three-divisors", "maximum-number-of-weeks-for-which-you-can-work", "minimum-garden-perimeter-to-collect-enough-apples", "count-number-of-special-subsequences"]}, {"contest_title": "\u7b2c 253 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 253", "contest_title_slug": "weekly-contest-253", "contest_id": 444, "contest_start_time": 1628389800, "contest_duration": 5400, "user_num": 4570, "question_slugs": ["check-if-string-is-a-prefix-of-array", "remove-stones-to-minimize-the-total", "minimum-number-of-swaps-to-make-the-string-balanced", "find-the-longest-valid-obstacle-course-at-each-position"]}, {"contest_title": "\u7b2c 254 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 254", "contest_title_slug": "weekly-contest-254", "contest_id": 449, "contest_start_time": 1628994600, "contest_duration": 5400, "user_num": 4349, "question_slugs": ["number-of-strings-that-appear-as-substrings-in-word", "array-with-elements-not-equal-to-average-of-neighbors", "minimum-non-zero-product-of-the-array-elements", "last-day-where-you-can-still-cross"]}, {"contest_title": "\u7b2c 255 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 255", "contest_title_slug": "weekly-contest-255", "contest_id": 457, "contest_start_time": 1629599400, "contest_duration": 5400, "user_num": 4333, "question_slugs": ["find-greatest-common-divisor-of-array", "find-unique-binary-string", "minimize-the-difference-between-target-and-chosen-elements", "find-array-given-subset-sums"]}, {"contest_title": "\u7b2c 256 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 256", "contest_title_slug": "weekly-contest-256", "contest_id": 462, "contest_start_time": 1630204200, "contest_duration": 5400, "user_num": 4136, "question_slugs": ["minimum-difference-between-highest-and-lowest-of-k-scores", "find-the-kth-largest-integer-in-the-array", "minimum-number-of-work-sessions-to-finish-the-tasks", "number-of-unique-good-subsequences"]}, {"contest_title": "\u7b2c 257 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 257", "contest_title_slug": "weekly-contest-257", "contest_id": 464, "contest_start_time": 1630809000, "contest_duration": 5400, "user_num": 4278, "question_slugs": ["count-special-quadruplets", "the-number-of-weak-characters-in-the-game", "first-day-where-you-have-been-in-all-the-rooms", "gcd-sort-of-an-array"]}, {"contest_title": "\u7b2c 258 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 258", "contest_title_slug": "weekly-contest-258", "contest_id": 468, "contest_start_time": 1631413800, "contest_duration": 5400, "user_num": 4519, "question_slugs": ["reverse-prefix-of-word", "number-of-pairs-of-interchangeable-rectangles", "maximum-product-of-the-length-of-two-palindromic-subsequences", "smallest-missing-genetic-value-in-each-subtree"]}, {"contest_title": "\u7b2c 259 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 259", "contest_title_slug": "weekly-contest-259", "contest_id": 474, "contest_start_time": 1632018600, "contest_duration": 5400, "user_num": 3775, "question_slugs": ["final-value-of-variable-after-performing-operations", "sum-of-beauty-in-the-array", "detect-squares", "longest-subsequence-repeated-k-times"]}, {"contest_title": "\u7b2c 260 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 260", "contest_title_slug": "weekly-contest-260", "contest_id": 478, "contest_start_time": 1632623400, "contest_duration": 5400, "user_num": 3654, "question_slugs": ["maximum-difference-between-increasing-elements", "grid-game", "check-if-word-can-be-placed-in-crossword", "the-score-of-students-solving-math-expression"]}, {"contest_title": "\u7b2c 261 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 261", "contest_title_slug": "weekly-contest-261", "contest_id": 481, "contest_start_time": 1633228200, "contest_duration": 5400, "user_num": 3368, "question_slugs": ["minimum-moves-to-convert-string", "find-missing-observations", "stone-game-ix", "smallest-k-length-subsequence-with-occurrences-of-a-letter"]}, {"contest_title": "\u7b2c 262 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 262", "contest_title_slug": "weekly-contest-262", "contest_id": 485, "contest_start_time": 1633833000, "contest_duration": 5400, "user_num": 4261, "question_slugs": ["two-out-of-three", "minimum-operations-to-make-a-uni-value-grid", "stock-price-fluctuation", "partition-array-into-two-arrays-to-minimize-sum-difference"]}, {"contest_title": "\u7b2c 263 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 263", "contest_title_slug": "weekly-contest-263", "contest_id": 487, "contest_start_time": 1634437800, "contest_duration": 5400, "user_num": 4572, "question_slugs": ["check-if-numbers-are-ascending-in-a-sentence", "simple-bank-system", "count-number-of-maximum-bitwise-or-subsets", "second-minimum-time-to-reach-destination"]}, {"contest_title": "\u7b2c 264 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 264", "contest_title_slug": "weekly-contest-264", "contest_id": 491, "contest_start_time": 1635042600, "contest_duration": 5400, "user_num": 4659, "question_slugs": ["number-of-valid-words-in-a-sentence", "next-greater-numerically-balanced-number", "count-nodes-with-the-highest-score", "parallel-courses-iii"]}, {"contest_title": "\u7b2c 265 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 265", "contest_title_slug": "weekly-contest-265", "contest_id": 493, "contest_start_time": 1635647400, "contest_duration": 5400, "user_num": 4182, "question_slugs": ["smallest-index-with-equal-value", "find-the-minimum-and-maximum-number-of-nodes-between-critical-points", "minimum-operations-to-convert-number", "check-if-an-original-string-exists-given-two-encoded-strings"]}, {"contest_title": "\u7b2c 266 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 266", "contest_title_slug": "weekly-contest-266", "contest_id": 498, "contest_start_time": 1636252200, "contest_duration": 5400, "user_num": 4385, "question_slugs": ["count-vowel-substrings-of-a-string", "vowels-of-all-substrings", "minimized-maximum-of-products-distributed-to-any-store", "maximum-path-quality-of-a-graph"]}, {"contest_title": "\u7b2c 267 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 267", "contest_title_slug": "weekly-contest-267", "contest_id": 500, "contest_start_time": 1636857000, "contest_duration": 5400, "user_num": 4365, "question_slugs": ["time-needed-to-buy-tickets", "reverse-nodes-in-even-length-groups", "decode-the-slanted-ciphertext", "process-restricted-friend-requests"]}, {"contest_title": "\u7b2c 268 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 268", "contest_title_slug": "weekly-contest-268", "contest_id": 504, "contest_start_time": 1637461800, "contest_duration": 5400, "user_num": 4398, "question_slugs": ["two-furthest-houses-with-different-colors", "watering-plants", "range-frequency-queries", "sum-of-k-mirror-numbers"]}, {"contest_title": "\u7b2c 269 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 269", "contest_title_slug": "weekly-contest-269", "contest_id": 506, "contest_start_time": 1638066600, "contest_duration": 5400, "user_num": 4293, "question_slugs": ["find-target-indices-after-sorting-array", "k-radius-subarray-averages", "removing-minimum-and-maximum-from-array", "find-all-people-with-secret"]}, {"contest_title": "\u7b2c 270 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 270", "contest_title_slug": "weekly-contest-270", "contest_id": 510, "contest_start_time": 1638671400, "contest_duration": 5400, "user_num": 4748, "question_slugs": ["finding-3-digit-even-numbers", "delete-the-middle-node-of-a-linked-list", "step-by-step-directions-from-a-binary-tree-node-to-another", "valid-arrangement-of-pairs"]}, {"contest_title": "\u7b2c 271 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 271", "contest_title_slug": "weekly-contest-271", "contest_id": 512, "contest_start_time": 1639276200, "contest_duration": 5400, "user_num": 4562, "question_slugs": ["rings-and-rods", "sum-of-subarray-ranges", "watering-plants-ii", "maximum-fruits-harvested-after-at-most-k-steps"]}, {"contest_title": "\u7b2c 272 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 272", "contest_title_slug": "weekly-contest-272", "contest_id": 516, "contest_start_time": 1639881000, "contest_duration": 5400, "user_num": 4698, "question_slugs": ["find-first-palindromic-string-in-the-array", "adding-spaces-to-a-string", "number-of-smooth-descent-periods-of-a-stock", "minimum-operations-to-make-the-array-k-increasing"]}, {"contest_title": "\u7b2c 273 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 273", "contest_title_slug": "weekly-contest-273", "contest_id": 518, "contest_start_time": 1640485800, "contest_duration": 5400, "user_num": 4368, "question_slugs": ["a-number-after-a-double-reversal", "execution-of-all-suffix-instructions-staying-in-a-grid", "intervals-between-identical-elements", "recover-the-original-array"]}, {"contest_title": "\u7b2c 274 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 274", "contest_title_slug": "weekly-contest-274", "contest_id": 522, "contest_start_time": 1641090600, "contest_duration": 5400, "user_num": 4109, "question_slugs": ["check-if-all-as-appears-before-all-bs", "number-of-laser-beams-in-a-bank", "destroying-asteroids", "maximum-employees-to-be-invited-to-a-meeting"]}, {"contest_title": "\u7b2c 275 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 275", "contest_title_slug": "weekly-contest-275", "contest_id": 524, "contest_start_time": 1641695400, "contest_duration": 5400, "user_num": 4787, "question_slugs": ["check-if-every-row-and-column-contains-all-numbers", "minimum-swaps-to-group-all-1s-together-ii", "count-words-obtained-after-adding-a-letter", "earliest-possible-day-of-full-bloom"]}, {"contest_title": "\u7b2c 276 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 276", "contest_title_slug": "weekly-contest-276", "contest_id": 528, "contest_start_time": 1642300200, "contest_duration": 5400, "user_num": 5244, "question_slugs": ["divide-a-string-into-groups-of-size-k", "minimum-moves-to-reach-target-score", "solving-questions-with-brainpower", "maximum-running-time-of-n-computers"]}, {"contest_title": "\u7b2c 277 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 277", "contest_title_slug": "weekly-contest-277", "contest_id": 530, "contest_start_time": 1642905000, "contest_duration": 5400, "user_num": 5060, "question_slugs": ["count-elements-with-strictly-smaller-and-greater-elements", "rearrange-array-elements-by-sign", "find-all-lonely-numbers-in-the-array", "maximum-good-people-based-on-statements"]}, {"contest_title": "\u7b2c 278 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 278", "contest_title_slug": "weekly-contest-278", "contest_id": 534, "contest_start_time": 1643509800, "contest_duration": 5400, "user_num": 4643, "question_slugs": ["keep-multiplying-found-values-by-two", "all-divisions-with-the-highest-score-of-a-binary-array", "find-substring-with-given-hash-value", "groups-of-strings"]}, {"contest_title": "\u7b2c 279 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 279", "contest_title_slug": "weekly-contest-279", "contest_id": 536, "contest_start_time": 1644114600, "contest_duration": 5400, "user_num": 4132, "question_slugs": ["sort-even-and-odd-indices-independently", "smallest-value-of-the-rearranged-number", "design-bitset", "minimum-time-to-remove-all-cars-containing-illegal-goods"]}, {"contest_title": "\u7b2c 280 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 280", "contest_title_slug": "weekly-contest-280", "contest_id": 540, "contest_start_time": 1644719400, "contest_duration": 5400, "user_num": 5834, "question_slugs": ["count-operations-to-obtain-zero", "minimum-operations-to-make-the-array-alternating", "removing-minimum-number-of-magic-beans", "maximum-and-sum-of-array"]}, {"contest_title": "\u7b2c 281 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 281", "contest_title_slug": "weekly-contest-281", "contest_id": 542, "contest_start_time": 1645324200, "contest_duration": 6000, "user_num": 6005, "question_slugs": ["count-integers-with-even-digit-sum", "merge-nodes-in-between-zeros", "construct-string-with-repeat-limit", "count-array-pairs-divisible-by-k"]}, {"contest_title": "\u7b2c 282 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 282", "contest_title_slug": "weekly-contest-282", "contest_id": 546, "contest_start_time": 1645929000, "contest_duration": 5400, "user_num": 7164, "question_slugs": ["counting-words-with-a-given-prefix", "minimum-number-of-steps-to-make-two-strings-anagram-ii", "minimum-time-to-complete-trips", "minimum-time-to-finish-the-race"]}, {"contest_title": "\u7b2c 283 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 283", "contest_title_slug": "weekly-contest-283", "contest_id": 551, "contest_start_time": 1646533800, "contest_duration": 5400, "user_num": 7817, "question_slugs": ["cells-in-a-range-on-an-excel-sheet", "append-k-integers-with-minimal-sum", "create-binary-tree-from-descriptions", "replace-non-coprime-numbers-in-array"]}, {"contest_title": "\u7b2c 284 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 284", "contest_title_slug": "weekly-contest-284", "contest_id": 555, "contest_start_time": 1647138600, "contest_duration": 5400, "user_num": 8483, "question_slugs": ["find-all-k-distant-indices-in-an-array", "count-artifacts-that-can-be-extracted", "maximize-the-topmost-element-after-k-moves", "minimum-weighted-subgraph-with-the-required-paths"]}, {"contest_title": "\u7b2c 285 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 285", "contest_title_slug": "weekly-contest-285", "contest_id": 558, "contest_start_time": 1647743400, "contest_duration": 5400, "user_num": 7501, "question_slugs": ["count-hills-and-valleys-in-an-array", "count-collisions-on-a-road", "maximum-points-in-an-archery-competition", "longest-substring-of-one-repeating-character"]}, {"contest_title": "\u7b2c 286 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 286", "contest_title_slug": "weekly-contest-286", "contest_id": 564, "contest_start_time": 1648348200, "contest_duration": 5400, "user_num": 7248, "question_slugs": ["find-the-difference-of-two-arrays", "minimum-deletions-to-make-array-beautiful", "find-palindrome-with-fixed-length", "maximum-value-of-k-coins-from-piles"]}, {"contest_title": "\u7b2c 287 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 287", "contest_title_slug": "weekly-contest-287", "contest_id": 569, "contest_start_time": 1648953000, "contest_duration": 5400, "user_num": 6811, "question_slugs": ["minimum-number-of-operations-to-convert-time", "find-players-with-zero-or-one-losses", "maximum-candies-allocated-to-k-children", "encrypt-and-decrypt-strings"]}, {"contest_title": "\u7b2c 288 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 288", "contest_title_slug": "weekly-contest-288", "contest_id": 573, "contest_start_time": 1649557800, "contest_duration": 5400, "user_num": 6926, "question_slugs": ["largest-number-after-digit-swaps-by-parity", "minimize-result-by-adding-parentheses-to-expression", "maximum-product-after-k-increments", "maximum-total-beauty-of-the-gardens"]}, {"contest_title": "\u7b2c 289 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 289", "contest_title_slug": "weekly-contest-289", "contest_id": 576, "contest_start_time": 1650162600, "contest_duration": 5400, "user_num": 7293, "question_slugs": ["calculate-digit-sum-of-a-string", "minimum-rounds-to-complete-all-tasks", "maximum-trailing-zeros-in-a-cornered-path", "longest-path-with-different-adjacent-characters"]}, {"contest_title": "\u7b2c 290 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 290", "contest_title_slug": "weekly-contest-290", "contest_id": 582, "contest_start_time": 1650767400, "contest_duration": 5400, "user_num": 6275, "question_slugs": ["intersection-of-multiple-arrays", "count-lattice-points-inside-a-circle", "count-number-of-rectangles-containing-each-point", "number-of-flowers-in-full-bloom"]}, {"contest_title": "\u7b2c 291 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 291", "contest_title_slug": "weekly-contest-291", "contest_id": 587, "contest_start_time": 1651372200, "contest_duration": 5400, "user_num": 6574, "question_slugs": ["remove-digit-from-number-to-maximize-result", "minimum-consecutive-cards-to-pick-up", "k-divisible-elements-subarrays", "total-appeal-of-a-string"]}, {"contest_title": "\u7b2c 292 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 292", "contest_title_slug": "weekly-contest-292", "contest_id": 591, "contest_start_time": 1651977000, "contest_duration": 5400, "user_num": 6884, "question_slugs": ["largest-3-same-digit-number-in-string", "count-nodes-equal-to-average-of-subtree", "count-number-of-texts", "check-if-there-is-a-valid-parentheses-string-path"]}, {"contest_title": "\u7b2c 293 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 293", "contest_title_slug": "weekly-contest-293", "contest_id": 593, "contest_start_time": 1652581800, "contest_duration": 5400, "user_num": 7357, "question_slugs": ["find-resultant-array-after-removing-anagrams", "maximum-consecutive-floors-without-special-floors", "largest-combination-with-bitwise-and-greater-than-zero", "count-integers-in-intervals"]}, {"contest_title": "\u7b2c 294 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 294", "contest_title_slug": "weekly-contest-294", "contest_id": 599, "contest_start_time": 1653186600, "contest_duration": 5400, "user_num": 6640, "question_slugs": ["percentage-of-letter-in-string", "maximum-bags-with-full-capacity-of-rocks", "minimum-lines-to-represent-a-line-chart", "sum-of-total-strength-of-wizards"]}, {"contest_title": "\u7b2c 295 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 295", "contest_title_slug": "weekly-contest-295", "contest_id": 605, "contest_start_time": 1653791400, "contest_duration": 5400, "user_num": 6447, "question_slugs": ["rearrange-characters-to-make-target-string", "apply-discount-to-prices", "steps-to-make-array-non-decreasing", "minimum-obstacle-removal-to-reach-corner"]}, {"contest_title": "\u7b2c 296 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 296", "contest_title_slug": "weekly-contest-296", "contest_id": 609, "contest_start_time": 1654396200, "contest_duration": 5400, "user_num": 5721, "question_slugs": ["min-max-game", "partition-array-such-that-maximum-difference-is-k", "replace-elements-in-an-array", "design-a-text-editor"]}, {"contest_title": "\u7b2c 297 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 297", "contest_title_slug": "weekly-contest-297", "contest_id": 611, "contest_start_time": 1655001000, "contest_duration": 5400, "user_num": 5915, "question_slugs": ["calculate-amount-paid-in-taxes", "minimum-path-cost-in-a-grid", "fair-distribution-of-cookies", "naming-a-company"]}, {"contest_title": "\u7b2c 298 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 298", "contest_title_slug": "weekly-contest-298", "contest_id": 615, "contest_start_time": 1655605800, "contest_duration": 5400, "user_num": 6228, "question_slugs": ["greatest-english-letter-in-upper-and-lower-case", "sum-of-numbers-with-units-digit-k", "longest-binary-subsequence-less-than-or-equal-to-k", "selling-pieces-of-wood"]}, {"contest_title": "\u7b2c 299 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 299", "contest_title_slug": "weekly-contest-299", "contest_id": 618, "contest_start_time": 1656210600, "contest_duration": 5400, "user_num": 6108, "question_slugs": ["check-if-matrix-is-x-matrix", "count-number-of-ways-to-place-houses", "maximum-score-of-spliced-array", "minimum-score-after-removals-on-a-tree"]}, {"contest_title": "\u7b2c 300 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 300", "contest_title_slug": "weekly-contest-300", "contest_id": 647, "contest_start_time": 1656815400, "contest_duration": 5400, "user_num": 6792, "question_slugs": ["decode-the-message", "spiral-matrix-iv", "number-of-people-aware-of-a-secret", "number-of-increasing-paths-in-a-grid"]}, {"contest_title": "\u7b2c 301 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 301", "contest_title_slug": "weekly-contest-301", "contest_id": 649, "contest_start_time": 1657420200, "contest_duration": 5400, "user_num": 7133, "question_slugs": ["minimum-amount-of-time-to-fill-cups", "smallest-number-in-infinite-set", "move-pieces-to-obtain-a-string", "count-the-number-of-ideal-arrays"]}, {"contest_title": "\u7b2c 302 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 302", "contest_title_slug": "weekly-contest-302", "contest_id": 653, "contest_start_time": 1658025000, "contest_duration": 5400, "user_num": 7092, "question_slugs": ["maximum-number-of-pairs-in-array", "max-sum-of-a-pair-with-equal-sum-of-digits", "query-kth-smallest-trimmed-number", "minimum-deletions-to-make-array-divisible"]}, {"contest_title": "\u7b2c 303 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 303", "contest_title_slug": "weekly-contest-303", "contest_id": 655, "contest_start_time": 1658629800, "contest_duration": 5400, "user_num": 7032, "question_slugs": ["first-letter-to-appear-twice", "equal-row-and-column-pairs", "design-a-food-rating-system", "number-of-excellent-pairs"]}, {"contest_title": "\u7b2c 304 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 304", "contest_title_slug": "weekly-contest-304", "contest_id": 659, "contest_start_time": 1659234600, "contest_duration": 5400, "user_num": 7372, "question_slugs": ["make-array-zero-by-subtracting-equal-amounts", "maximum-number-of-groups-entering-a-competition", "find-closest-node-to-given-two-nodes", "longest-cycle-in-a-graph"]}, {"contest_title": "\u7b2c 305 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 305", "contest_title_slug": "weekly-contest-305", "contest_id": 663, "contest_start_time": 1659839400, "contest_duration": 5400, "user_num": 7465, "question_slugs": ["number-of-arithmetic-triplets", "reachable-nodes-with-restrictions", "check-if-there-is-a-valid-partition-for-the-array", "longest-ideal-subsequence"]}, {"contest_title": "\u7b2c 306 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 306", "contest_title_slug": "weekly-contest-306", "contest_id": 669, "contest_start_time": 1660444200, "contest_duration": 5400, "user_num": 7500, "question_slugs": ["largest-local-values-in-a-matrix", "node-with-highest-edge-score", "construct-smallest-number-from-di-string", "count-special-integers"]}, {"contest_title": "\u7b2c 307 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 307", "contest_title_slug": "weekly-contest-307", "contest_id": 671, "contest_start_time": 1661049000, "contest_duration": 5400, "user_num": 7064, "question_slugs": ["minimum-hours-of-training-to-win-a-competition", "largest-palindromic-number", "amount-of-time-for-binary-tree-to-be-infected", "find-the-k-sum-of-an-array"]}, {"contest_title": "\u7b2c 308 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 308", "contest_title_slug": "weekly-contest-308", "contest_id": 689, "contest_start_time": 1661653800, "contest_duration": 5400, "user_num": 6394, "question_slugs": ["longest-subsequence-with-limited-sum", "removing-stars-from-a-string", "minimum-amount-of-time-to-collect-garbage", "build-a-matrix-with-conditions"]}, {"contest_title": "\u7b2c 309 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 309", "contest_title_slug": "weekly-contest-309", "contest_id": 693, "contest_start_time": 1662258600, "contest_duration": 5400, "user_num": 7972, "question_slugs": ["check-distances-between-same-letters", "number-of-ways-to-reach-a-position-after-exactly-k-steps", "longest-nice-subarray", "meeting-rooms-iii"]}, {"contest_title": "\u7b2c 310 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 310", "contest_title_slug": "weekly-contest-310", "contest_id": 704, "contest_start_time": 1662863400, "contest_duration": 5400, "user_num": 6081, "question_slugs": ["most-frequent-even-element", "optimal-partition-of-string", "divide-intervals-into-minimum-number-of-groups", "longest-increasing-subsequence-ii"]}, {"contest_title": "\u7b2c 311 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 311", "contest_title_slug": "weekly-contest-311", "contest_id": 741, "contest_start_time": 1663468200, "contest_duration": 5400, "user_num": 6710, "question_slugs": ["smallest-even-multiple", "length-of-the-longest-alphabetical-continuous-substring", "reverse-odd-levels-of-binary-tree", "sum-of-prefix-scores-of-strings"]}, {"contest_title": "\u7b2c 312 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 312", "contest_title_slug": "weekly-contest-312", "contest_id": 746, "contest_start_time": 1664073000, "contest_duration": 5400, "user_num": 6638, "question_slugs": ["sort-the-people", "longest-subarray-with-maximum-bitwise-and", "find-all-good-indices", "number-of-good-paths"]}, {"contest_title": "\u7b2c 313 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 313", "contest_title_slug": "weekly-contest-313", "contest_id": 750, "contest_start_time": 1664677800, "contest_duration": 5400, "user_num": 5445, "question_slugs": ["number-of-common-factors", "maximum-sum-of-an-hourglass", "minimize-xor", "maximum-deletions-on-a-string"]}, {"contest_title": "\u7b2c 314 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 314", "contest_title_slug": "weekly-contest-314", "contest_id": 756, "contest_start_time": 1665282600, "contest_duration": 5400, "user_num": 4838, "question_slugs": ["the-employee-that-worked-on-the-longest-task", "find-the-original-array-of-prefix-xor", "using-a-robot-to-print-the-lexicographically-smallest-string", "paths-in-matrix-whose-sum-is-divisible-by-k"]}, {"contest_title": "\u7b2c 315 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 315", "contest_title_slug": "weekly-contest-315", "contest_id": 759, "contest_start_time": 1665887400, "contest_duration": 5400, "user_num": 6490, "question_slugs": ["largest-positive-integer-that-exists-with-its-negative", "count-number-of-distinct-integers-after-reverse-operations", "sum-of-number-and-its-reverse", "count-subarrays-with-fixed-bounds"]}, {"contest_title": "\u7b2c 316 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 316", "contest_title_slug": "weekly-contest-316", "contest_id": 764, "contest_start_time": 1666492200, "contest_duration": 5400, "user_num": 6387, "question_slugs": ["determine-if-two-events-have-conflict", "number-of-subarrays-with-gcd-equal-to-k", "minimum-cost-to-make-array-equal", "minimum-number-of-operations-to-make-arrays-similar"]}, {"contest_title": "\u7b2c 317 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 317", "contest_title_slug": "weekly-contest-317", "contest_id": 767, "contest_start_time": 1667097000, "contest_duration": 5400, "user_num": 5660, "question_slugs": ["average-value-of-even-numbers-that-are-divisible-by-three", "most-popular-video-creator", "minimum-addition-to-make-integer-beautiful", "height-of-binary-tree-after-subtree-removal-queries"]}, {"contest_title": "\u7b2c 318 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 318", "contest_title_slug": "weekly-contest-318", "contest_id": 771, "contest_start_time": 1667701800, "contest_duration": 5400, "user_num": 5670, "question_slugs": ["apply-operations-to-an-array", "maximum-sum-of-distinct-subarrays-with-length-k", "total-cost-to-hire-k-workers", "minimum-total-distance-traveled"]}, {"contest_title": "\u7b2c 319 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 319", "contest_title_slug": "weekly-contest-319", "contest_id": 773, "contest_start_time": 1668306600, "contest_duration": 5400, "user_num": 6175, "question_slugs": ["convert-the-temperature", "number-of-subarrays-with-lcm-equal-to-k", "minimum-number-of-operations-to-sort-a-binary-tree-by-level", "maximum-number-of-non-overlapping-palindrome-substrings"]}, {"contest_title": "\u7b2c 320 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 320", "contest_title_slug": "weekly-contest-320", "contest_id": 777, "contest_start_time": 1668911400, "contest_duration": 5400, "user_num": 5678, "question_slugs": ["number-of-unequal-triplets-in-array", "closest-nodes-queries-in-a-binary-search-tree", "minimum-fuel-cost-to-report-to-the-capital", "number-of-beautiful-partitions"]}, {"contest_title": "\u7b2c 321 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 321", "contest_title_slug": "weekly-contest-321", "contest_id": 779, "contest_start_time": 1669516200, "contest_duration": 5400, "user_num": 5115, "question_slugs": ["find-the-pivot-integer", "append-characters-to-string-to-make-subsequence", "remove-nodes-from-linked-list", "count-subarrays-with-median-k"]}, {"contest_title": "\u7b2c 322 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 322", "contest_title_slug": "weekly-contest-322", "contest_id": 783, "contest_start_time": 1670121000, "contest_duration": 5400, "user_num": 5085, "question_slugs": ["circular-sentence", "divide-players-into-teams-of-equal-skill", "minimum-score-of-a-path-between-two-cities", "divide-nodes-into-the-maximum-number-of-groups"]}, {"contest_title": "\u7b2c 323 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 323", "contest_title_slug": "weekly-contest-323", "contest_id": 785, "contest_start_time": 1670725800, "contest_duration": 5400, "user_num": 4671, "question_slugs": ["delete-greatest-value-in-each-row", "longest-square-streak-in-an-array", "design-memory-allocator", "maximum-number-of-points-from-grid-queries"]}, {"contest_title": "\u7b2c 324 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 324", "contest_title_slug": "weekly-contest-324", "contest_id": 790, "contest_start_time": 1671330600, "contest_duration": 5400, "user_num": 4167, "question_slugs": ["count-pairs-of-similar-strings", "smallest-value-after-replacing-with-sum-of-prime-factors", "add-edges-to-make-degrees-of-all-nodes-even", "cycle-length-queries-in-a-tree"]}, {"contest_title": "\u7b2c 325 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 325", "contest_title_slug": "weekly-contest-325", "contest_id": 795, "contest_start_time": 1671935400, "contest_duration": 5400, "user_num": 3530, "question_slugs": ["shortest-distance-to-target-string-in-a-circular-array", "take-k-of-each-character-from-left-and-right", "maximum-tastiness-of-candy-basket", "number-of-great-partitions"]}, {"contest_title": "\u7b2c 326 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 326", "contest_title_slug": "weekly-contest-326", "contest_id": 799, "contest_start_time": 1672540200, "contest_duration": 5400, "user_num": 3873, "question_slugs": ["count-the-digits-that-divide-a-number", "distinct-prime-factors-of-product-of-array", "partition-string-into-substrings-with-values-at-most-k", "closest-prime-numbers-in-range"]}, {"contest_title": "\u7b2c 327 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 327", "contest_title_slug": "weekly-contest-327", "contest_id": 801, "contest_start_time": 1673145000, "contest_duration": 5400, "user_num": 4518, "question_slugs": ["maximum-count-of-positive-integer-and-negative-integer", "maximal-score-after-applying-k-operations", "make-number-of-distinct-characters-equal", "time-to-cross-a-bridge"]}, {"contest_title": "\u7b2c 328 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 328", "contest_title_slug": "weekly-contest-328", "contest_id": 805, "contest_start_time": 1673749800, "contest_duration": 5400, "user_num": 4776, "question_slugs": ["difference-between-element-sum-and-digit-sum-of-an-array", "increment-submatrices-by-one", "count-the-number-of-good-subarrays", "difference-between-maximum-and-minimum-price-sum"]}, {"contest_title": "\u7b2c 329 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 329", "contest_title_slug": "weekly-contest-329", "contest_id": 807, "contest_start_time": 1674354600, "contest_duration": 5400, "user_num": 2591, "question_slugs": ["alternating-digit-sum", "sort-the-students-by-their-kth-score", "apply-bitwise-operations-to-make-strings-equal", "minimum-cost-to-split-an-array"]}, {"contest_title": "\u7b2c 330 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 330", "contest_title_slug": "weekly-contest-330", "contest_id": 811, "contest_start_time": 1674959400, "contest_duration": 5400, "user_num": 3399, "question_slugs": ["count-distinct-numbers-on-board", "count-collisions-of-monkeys-on-a-polygon", "put-marbles-in-bags", "count-increasing-quadruplets"]}, {"contest_title": "\u7b2c 331 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 331", "contest_title_slug": "weekly-contest-331", "contest_id": 813, "contest_start_time": 1675564200, "contest_duration": 5400, "user_num": 4256, "question_slugs": ["take-gifts-from-the-richest-pile", "count-vowel-strings-in-ranges", "house-robber-iv", "rearranging-fruits"]}, {"contest_title": "\u7b2c 332 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 332", "contest_title_slug": "weekly-contest-332", "contest_id": 817, "contest_start_time": 1676169000, "contest_duration": 5400, "user_num": 4547, "question_slugs": ["find-the-array-concatenation-value", "count-the-number-of-fair-pairs", "substring-xor-queries", "subsequence-with-the-minimum-score"]}, {"contest_title": "\u7b2c 333 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 333", "contest_title_slug": "weekly-contest-333", "contest_id": 819, "contest_start_time": 1676773800, "contest_duration": 5400, "user_num": 4969, "question_slugs": ["merge-two-2d-arrays-by-summing-values", "minimum-operations-to-reduce-an-integer-to-0", "count-the-number-of-square-free-subsets", "find-the-string-with-lcp"]}, {"contest_title": "\u7b2c 334 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 334", "contest_title_slug": "weekly-contest-334", "contest_id": 823, "contest_start_time": 1677378600, "contest_duration": 5400, "user_num": 5501, "question_slugs": ["left-and-right-sum-differences", "find-the-divisibility-array-of-a-string", "find-the-maximum-number-of-marked-indices", "minimum-time-to-visit-a-cell-in-a-grid"]}, {"contest_title": "\u7b2c 335 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 335", "contest_title_slug": "weekly-contest-335", "contest_id": 825, "contest_start_time": 1677983400, "contest_duration": 5400, "user_num": 6019, "question_slugs": ["pass-the-pillow", "kth-largest-sum-in-a-binary-tree", "split-the-array-to-make-coprime-products", "number-of-ways-to-earn-points"]}, {"contest_title": "\u7b2c 336 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 336", "contest_title_slug": "weekly-contest-336", "contest_id": 833, "contest_start_time": 1678588200, "contest_duration": 5400, "user_num": 5897, "question_slugs": ["count-the-number-of-vowel-strings-in-range", "rearrange-array-to-maximize-prefix-score", "count-the-number-of-beautiful-subarrays", "minimum-time-to-complete-all-tasks"]}, {"contest_title": "\u7b2c 337 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 337", "contest_title_slug": "weekly-contest-337", "contest_id": 839, "contest_start_time": 1679193000, "contest_duration": 5400, "user_num": 5628, "question_slugs": ["number-of-even-and-odd-bits", "check-knight-tour-configuration", "the-number-of-beautiful-subsets", "smallest-missing-non-negative-integer-after-operations"]}, {"contest_title": "\u7b2c 338 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 338", "contest_title_slug": "weekly-contest-338", "contest_id": 843, "contest_start_time": 1679797800, "contest_duration": 5400, "user_num": 5594, "question_slugs": ["k-items-with-the-maximum-sum", "prime-subtraction-operation", "minimum-operations-to-make-all-array-elements-equal", "collect-coins-in-a-tree"]}, {"contest_title": "\u7b2c 339 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 339", "contest_title_slug": "weekly-contest-339", "contest_id": 850, "contest_start_time": 1680402600, "contest_duration": 5400, "user_num": 5180, "question_slugs": ["find-the-longest-balanced-substring-of-a-binary-string", "convert-an-array-into-a-2d-array-with-conditions", "mice-and-cheese", "minimum-reverse-operations"]}, {"contest_title": "\u7b2c 340 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 340", "contest_title_slug": "weekly-contest-340", "contest_id": 854, "contest_start_time": 1681007400, "contest_duration": 5400, "user_num": 4937, "question_slugs": ["prime-in-diagonal", "sum-of-distances", "minimize-the-maximum-difference-of-pairs", "minimum-number-of-visited-cells-in-a-grid"]}, {"contest_title": "\u7b2c 341 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 341", "contest_title_slug": "weekly-contest-341", "contest_id": 856, "contest_start_time": 1681612200, "contest_duration": 5400, "user_num": 4792, "question_slugs": ["row-with-maximum-ones", "find-the-maximum-divisibility-score", "minimum-additions-to-make-valid-string", "minimize-the-total-price-of-the-trips"]}, {"contest_title": "\u7b2c 342 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 342", "contest_title_slug": "weekly-contest-342", "contest_id": 860, "contest_start_time": 1682217000, "contest_duration": 5400, "user_num": 3702, "question_slugs": ["calculate-delayed-arrival-time", "sum-multiples", "sliding-subarray-beauty", "minimum-number-of-operations-to-make-all-array-elements-equal-to-1"]}, {"contest_title": "\u7b2c 343 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 343", "contest_title_slug": "weekly-contest-343", "contest_id": 863, "contest_start_time": 1682821800, "contest_duration": 5400, "user_num": 3313, "question_slugs": ["determine-the-winner-of-a-bowling-game", "first-completely-painted-row-or-column", "minimum-cost-of-a-path-with-special-roads", "lexicographically-smallest-beautiful-string"]}, {"contest_title": "\u7b2c 344 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 344", "contest_title_slug": "weekly-contest-344", "contest_id": 867, "contest_start_time": 1683426600, "contest_duration": 5400, "user_num": 3986, "question_slugs": ["find-the-distinct-difference-array", "frequency-tracker", "number-of-adjacent-elements-with-the-same-color", "make-costs-of-paths-equal-in-a-binary-tree"]}, {"contest_title": "\u7b2c 345 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 345", "contest_title_slug": "weekly-contest-345", "contest_id": 870, "contest_start_time": 1684031400, "contest_duration": 5400, "user_num": 4165, "question_slugs": ["find-the-losers-of-the-circular-game", "neighboring-bitwise-xor", "maximum-number-of-moves-in-a-grid", "count-the-number-of-complete-components"]}, {"contest_title": "\u7b2c 346 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 346", "contest_title_slug": "weekly-contest-346", "contest_id": 874, "contest_start_time": 1684636200, "contest_duration": 5400, "user_num": 4035, "question_slugs": ["minimum-string-length-after-removing-substrings", "lexicographically-smallest-palindrome", "find-the-punishment-number-of-an-integer", "modify-graph-edge-weights"]}, {"contest_title": "\u7b2c 347 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 347", "contest_title_slug": "weekly-contest-347", "contest_id": 876, "contest_start_time": 1685241000, "contest_duration": 5400, "user_num": 3836, "question_slugs": ["remove-trailing-zeros-from-a-string", "difference-of-number-of-distinct-values-on-diagonals", "minimum-cost-to-make-all-characters-equal", "maximum-strictly-increasing-cells-in-a-matrix"]}, {"contest_title": "\u7b2c 348 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 348", "contest_title_slug": "weekly-contest-348", "contest_id": 880, "contest_start_time": 1685845800, "contest_duration": 5400, "user_num": 3909, "question_slugs": ["minimize-string-length", "semi-ordered-permutation", "sum-of-matrix-after-queries", "count-of-integers"]}, {"contest_title": "\u7b2c 349 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 349", "contest_title_slug": "weekly-contest-349", "contest_id": 882, "contest_start_time": 1686450600, "contest_duration": 5400, "user_num": 3714, "question_slugs": ["neither-minimum-nor-maximum", "lexicographically-smallest-string-after-substring-operation", "collecting-chocolates", "maximum-sum-queries"]}, {"contest_title": "\u7b2c 350 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 350", "contest_title_slug": "weekly-contest-350", "contest_id": 886, "contest_start_time": 1687055400, "contest_duration": 5400, "user_num": 3580, "question_slugs": ["total-distance-traveled", "find-the-value-of-the-partition", "special-permutations", "painting-the-walls"]}, {"contest_title": "\u7b2c 351 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 351", "contest_title_slug": "weekly-contest-351", "contest_id": 888, "contest_start_time": 1687660200, "contest_duration": 5400, "user_num": 2471, "question_slugs": ["number-of-beautiful-pairs", "minimum-operations-to-make-the-integer-zero", "ways-to-split-array-into-good-subarrays", "robot-collisions"]}, {"contest_title": "\u7b2c 352 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 352", "contest_title_slug": "weekly-contest-352", "contest_id": 892, "contest_start_time": 1688265000, "contest_duration": 5400, "user_num": 3437, "question_slugs": ["longest-even-odd-subarray-with-threshold", "prime-pairs-with-target-sum", "continuous-subarrays", "sum-of-imbalance-numbers-of-all-subarrays"]}, {"contest_title": "\u7b2c 353 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 353", "contest_title_slug": "weekly-contest-353", "contest_id": 894, "contest_start_time": 1688869800, "contest_duration": 5400, "user_num": 4113, "question_slugs": ["find-the-maximum-achievable-number", "maximum-number-of-jumps-to-reach-the-last-index", "longest-non-decreasing-subarray-from-two-arrays", "apply-operations-to-make-all-array-elements-equal-to-zero"]}, {"contest_title": "\u7b2c 354 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 354", "contest_title_slug": "weekly-contest-354", "contest_id": 898, "contest_start_time": 1689474600, "contest_duration": 5400, "user_num": 3957, "question_slugs": ["sum-of-squares-of-special-elements", "maximum-beauty-of-an-array-after-applying-operation", "minimum-index-of-a-valid-split", "length-of-the-longest-valid-substring"]}, {"contest_title": "\u7b2c 355 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 355", "contest_title_slug": "weekly-contest-355", "contest_id": 900, "contest_start_time": 1690079400, "contest_duration": 5400, "user_num": 4112, "question_slugs": ["split-strings-by-separator", "largest-element-in-an-array-after-merge-operations", "maximum-number-of-groups-with-increasing-length", "count-paths-that-can-form-a-palindrome-in-a-tree"]}, {"contest_title": "\u7b2c 356 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 356", "contest_title_slug": "weekly-contest-356", "contest_id": 904, "contest_start_time": 1690684200, "contest_duration": 5400, "user_num": 4082, "question_slugs": ["number-of-employees-who-met-the-target", "count-complete-subarrays-in-an-array", "shortest-string-that-contains-three-strings", "count-stepping-numbers-in-range"]}, {"contest_title": "\u7b2c 357 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 357", "contest_title_slug": "weekly-contest-357", "contest_id": 906, "contest_start_time": 1691289000, "contest_duration": 5400, "user_num": 4265, "question_slugs": ["faulty-keyboard", "check-if-it-is-possible-to-split-array", "find-the-safest-path-in-a-grid", "maximum-elegance-of-a-k-length-subsequence"]}, {"contest_title": "\u7b2c 358 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 358", "contest_title_slug": "weekly-contest-358", "contest_id": 910, "contest_start_time": 1691893800, "contest_duration": 5400, "user_num": 4475, "question_slugs": ["max-pair-sum-in-an-array", "double-a-number-represented-as-a-linked-list", "minimum-absolute-difference-between-elements-with-constraint", "apply-operations-to-maximize-score"]}, {"contest_title": "\u7b2c 359 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 359", "contest_title_slug": "weekly-contest-359", "contest_id": 913, "contest_start_time": 1692498600, "contest_duration": 5400, "user_num": 4101, "question_slugs": ["check-if-a-string-is-an-acronym-of-words", "determine-the-minimum-sum-of-a-k-avoiding-array", "maximize-the-profit-as-the-salesman", "find-the-longest-equal-subarray"]}, {"contest_title": "\u7b2c 360 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 360", "contest_title_slug": "weekly-contest-360", "contest_id": 918, "contest_start_time": 1693103400, "contest_duration": 5400, "user_num": 4496, "question_slugs": ["furthest-point-from-origin", "find-the-minimum-possible-sum-of-a-beautiful-array", "minimum-operations-to-form-subsequence-with-target-sum", "maximize-value-of-function-in-a-ball-passing-game"]}, {"contest_title": "\u7b2c 361 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 361", "contest_title_slug": "weekly-contest-361", "contest_id": 920, "contest_start_time": 1693708200, "contest_duration": 5400, "user_num": 4170, "question_slugs": ["count-symmetric-integers", "minimum-operations-to-make-a-special-number", "count-of-interesting-subarrays", "minimum-edge-weight-equilibrium-queries-in-a-tree"]}, {"contest_title": "\u7b2c 362 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 362", "contest_title_slug": "weekly-contest-362", "contest_id": 924, "contest_start_time": 1694313000, "contest_duration": 5400, "user_num": 4800, "question_slugs": ["points-that-intersect-with-cars", "determine-if-a-cell-is-reachable-at-a-given-time", "minimum-moves-to-spread-stones-over-grid", "string-transformation"]}, {"contest_title": "\u7b2c 363 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 363", "contest_title_slug": "weekly-contest-363", "contest_id": 926, "contest_start_time": 1694917800, "contest_duration": 5400, "user_num": 4768, "question_slugs": ["sum-of-values-at-indices-with-k-set-bits", "happy-students", "maximum-number-of-alloys", "maximum-element-sum-of-a-complete-subset-of-indices"]}, {"contest_title": "\u7b2c 364 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 364", "contest_title_slug": "weekly-contest-364", "contest_id": 930, "contest_start_time": 1695522600, "contest_duration": 5400, "user_num": 4304, "question_slugs": ["maximum-odd-binary-number", "beautiful-towers-i", "beautiful-towers-ii", "count-valid-paths-in-a-tree"]}, {"contest_title": "\u7b2c 365 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 365", "contest_title_slug": "weekly-contest-365", "contest_id": 932, "contest_start_time": 1696127400, "contest_duration": 5400, "user_num": 2909, "question_slugs": ["maximum-value-of-an-ordered-triplet-i", "maximum-value-of-an-ordered-triplet-ii", "minimum-size-subarray-in-infinite-array", "count-visited-nodes-in-a-directed-graph"]}, {"contest_title": "\u7b2c 366 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 366", "contest_title_slug": "weekly-contest-366", "contest_id": 936, "contest_start_time": 1696732200, "contest_duration": 5400, "user_num": 2790, "question_slugs": ["divisible-and-non-divisible-sums-difference", "minimum-processing-time", "apply-operations-to-make-two-strings-equal", "apply-operations-on-array-to-maximize-sum-of-squares"]}, {"contest_title": "\u7b2c 367 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 367", "contest_title_slug": "weekly-contest-367", "contest_id": 938, "contest_start_time": 1697337000, "contest_duration": 5400, "user_num": 4317, "question_slugs": ["find-indices-with-index-and-value-difference-i", "shortest-and-lexicographically-smallest-beautiful-string", "find-indices-with-index-and-value-difference-ii", "construct-product-matrix"]}, {"contest_title": "\u7b2c 368 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 368", "contest_title_slug": "weekly-contest-368", "contest_id": 942, "contest_start_time": 1697941800, "contest_duration": 5400, "user_num": 5002, "question_slugs": ["minimum-sum-of-mountain-triplets-i", "minimum-sum-of-mountain-triplets-ii", "minimum-number-of-groups-to-create-a-valid-assignment", "minimum-changes-to-make-k-semi-palindromes"]}, {"contest_title": "\u7b2c 369 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 369", "contest_title_slug": "weekly-contest-369", "contest_id": 945, "contest_start_time": 1698546600, "contest_duration": 5400, "user_num": 4121, "question_slugs": ["find-the-k-or-of-an-array", "minimum-equal-sum-of-two-arrays-after-replacing-zeros", "minimum-increment-operations-to-make-array-beautiful", "maximum-points-after-collecting-coins-from-all-nodes"]}, {"contest_title": "\u7b2c 370 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 370", "contest_title_slug": "weekly-contest-370", "contest_id": 950, "contest_start_time": 1699151400, "contest_duration": 5400, "user_num": 3983, "question_slugs": ["find-champion-i", "find-champion-ii", "maximum-score-after-applying-operations-on-a-tree", "maximum-balanced-subsequence-sum"]}, {"contest_title": "\u7b2c 371 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 371", "contest_title_slug": "weekly-contest-371", "contest_id": 952, "contest_start_time": 1699756200, "contest_duration": 5400, "user_num": 3638, "question_slugs": ["maximum-strong-pair-xor-i", "high-access-employees", "minimum-operations-to-maximize-last-elements-in-arrays", "maximum-strong-pair-xor-ii"]}, {"contest_title": "\u7b2c 372 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 372", "contest_title_slug": "weekly-contest-372", "contest_id": 956, "contest_start_time": 1700361000, "contest_duration": 5400, "user_num": 3920, "question_slugs": ["make-three-strings-equal", "separate-black-and-white-balls", "maximum-xor-product", "find-building-where-alice-and-bob-can-meet"]}, {"contest_title": "\u7b2c 373 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 373", "contest_title_slug": "weekly-contest-373", "contest_id": 958, "contest_start_time": 1700965800, "contest_duration": 5400, "user_num": 3577, "question_slugs": ["matrix-similarity-after-cyclic-shifts", "count-beautiful-substrings-i", "make-lexicographically-smallest-array-by-swapping-elements", "count-beautiful-substrings-ii"]}, {"contest_title": "\u7b2c 374 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 374", "contest_title_slug": "weekly-contest-374", "contest_id": 962, "contest_start_time": 1701570600, "contest_duration": 5400, "user_num": 4053, "question_slugs": ["find-the-peaks", "minimum-number-of-coins-to-be-added", "count-complete-substrings", "count-the-number-of-infection-sequences"]}, {"contest_title": "\u7b2c 375 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 375", "contest_title_slug": "weekly-contest-375", "contest_id": 964, "contest_start_time": 1702175400, "contest_duration": 5400, "user_num": 3518, "question_slugs": ["count-tested-devices-after-test-operations", "double-modular-exponentiation", "count-subarrays-where-max-element-appears-at-least-k-times", "count-the-number-of-good-partitions"]}, {"contest_title": "\u7b2c 376 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 376", "contest_title_slug": "weekly-contest-376", "contest_id": 968, "contest_start_time": 1702780200, "contest_duration": 5400, "user_num": 3409, "question_slugs": ["find-missing-and-repeated-values", "divide-array-into-arrays-with-max-difference", "minimum-cost-to-make-array-equalindromic", "apply-operations-to-maximize-frequency-score"]}, {"contest_title": "\u7b2c 377 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 377", "contest_title_slug": "weekly-contest-377", "contest_id": 970, "contest_start_time": 1703385000, "contest_duration": 5400, "user_num": 3148, "question_slugs": ["minimum-number-game", "maximum-square-area-by-removing-fences-from-a-field", "minimum-cost-to-convert-string-i", "minimum-cost-to-convert-string-ii"]}, {"contest_title": "\u7b2c 378 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 378", "contest_title_slug": "weekly-contest-378", "contest_id": 974, "contest_start_time": 1703989800, "contest_duration": 5400, "user_num": 2747, "question_slugs": ["check-if-bitwise-or-has-trailing-zeros", "find-longest-special-substring-that-occurs-thrice-i", "find-longest-special-substring-that-occurs-thrice-ii", "palindrome-rearrangement-queries"]}, {"contest_title": "\u7b2c 379 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 379", "contest_title_slug": "weekly-contest-379", "contest_id": 976, "contest_start_time": 1704594600, "contest_duration": 5400, "user_num": 3117, "question_slugs": ["maximum-area-of-longest-diagonal-rectangle", "minimum-moves-to-capture-the-queen", "maximum-size-of-a-set-after-removals", "maximize-the-number-of-partitions-after-operations"]}, {"contest_title": "\u7b2c 380 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 380", "contest_title_slug": "weekly-contest-380", "contest_id": 980, "contest_start_time": 1705199400, "contest_duration": 5400, "user_num": 3325, "question_slugs": ["count-elements-with-maximum-frequency", "find-beautiful-indices-in-the-given-array-i", "maximum-number-that-sum-of-the-prices-is-less-than-or-equal-to-k", "find-beautiful-indices-in-the-given-array-ii"]}, {"contest_title": "\u7b2c 381 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 381", "contest_title_slug": "weekly-contest-381", "contest_id": 982, "contest_start_time": 1705804200, "contest_duration": 5400, "user_num": 3737, "question_slugs": ["minimum-number-of-pushes-to-type-word-i", "count-the-number-of-houses-at-a-certain-distance-i", "minimum-number-of-pushes-to-type-word-ii", "count-the-number-of-houses-at-a-certain-distance-ii"]}, {"contest_title": "\u7b2c 382 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 382", "contest_title_slug": "weekly-contest-382", "contest_id": 986, "contest_start_time": 1706409000, "contest_duration": 5400, "user_num": 3134, "question_slugs": ["number-of-changing-keys", "find-the-maximum-number-of-elements-in-subset", "alice-and-bob-playing-flower-game", "minimize-or-of-remaining-elements-using-operations"]}, {"contest_title": "\u7b2c 383 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 383", "contest_title_slug": "weekly-contest-383", "contest_id": 988, "contest_start_time": 1707013800, "contest_duration": 5400, "user_num": 2691, "question_slugs": ["ant-on-the-boundary", "minimum-time-to-revert-word-to-initial-state-i", "find-the-grid-of-region-average", "minimum-time-to-revert-word-to-initial-state-ii"]}, {"contest_title": "\u7b2c 384 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 384", "contest_title_slug": "weekly-contest-384", "contest_id": 992, "contest_start_time": 1707618600, "contest_duration": 5400, "user_num": 1652, "question_slugs": ["modify-the-matrix", "number-of-subarrays-that-match-a-pattern-i", "maximum-palindromes-after-operations", "number-of-subarrays-that-match-a-pattern-ii"]}, {"contest_title": "\u7b2c 385 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 385", "contest_title_slug": "weekly-contest-385", "contest_id": 994, "contest_start_time": 1708223400, "contest_duration": 5400, "user_num": 2382, "question_slugs": ["count-prefix-and-suffix-pairs-i", "find-the-length-of-the-longest-common-prefix", "most-frequent-prime", "count-prefix-and-suffix-pairs-ii"]}, {"contest_title": "\u7b2c 386 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 386", "contest_title_slug": "weekly-contest-386", "contest_id": 998, "contest_start_time": 1708828200, "contest_duration": 5400, "user_num": 2731, "question_slugs": ["split-the-array", "find-the-largest-area-of-square-inside-two-rectangles", "earliest-second-to-mark-indices-i", "earliest-second-to-mark-indices-ii"]}, {"contest_title": "\u7b2c 387 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 387", "contest_title_slug": "weekly-contest-387", "contest_id": 1000, "contest_start_time": 1709433000, "contest_duration": 5400, "user_num": 3694, "question_slugs": ["distribute-elements-into-two-arrays-i", "count-submatrices-with-top-left-element-and-sum-less-than-k", "minimum-operations-to-write-the-letter-y-on-a-grid", "distribute-elements-into-two-arrays-ii"]}, {"contest_title": "\u7b2c 388 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 388", "contest_title_slug": "weekly-contest-388", "contest_id": 1004, "contest_start_time": 1710037800, "contest_duration": 5400, "user_num": 4291, "question_slugs": ["apple-redistribution-into-boxes", "maximize-happiness-of-selected-children", "shortest-uncommon-substring-in-an-array", "maximum-strength-of-k-disjoint-subarrays"]}, {"contest_title": "\u7b2c 389 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 389", "contest_title_slug": "weekly-contest-389", "contest_id": 1006, "contest_start_time": 1710642600, "contest_duration": 5400, "user_num": 4561, "question_slugs": ["existence-of-a-substring-in-a-string-and-its-reverse", "count-substrings-starting-and-ending-with-given-character", "minimum-deletions-to-make-string-k-special", "minimum-moves-to-pick-k-ones"]}, {"contest_title": "\u7b2c 390 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 390", "contest_title_slug": "weekly-contest-390", "contest_id": 1011, "contest_start_time": 1711247400, "contest_duration": 5400, "user_num": 4817, "question_slugs": ["maximum-length-substring-with-two-occurrences", "apply-operations-to-make-sum-of-array-greater-than-or-equal-to-k", "most-frequent-ids", "longest-common-suffix-queries"]}, {"contest_title": "\u7b2c 391 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 391", "contest_title_slug": "weekly-contest-391", "contest_id": 1014, "contest_start_time": 1711852200, "contest_duration": 5400, "user_num": 4181, "question_slugs": ["harshad-number", "water-bottles-ii", "count-alternating-subarrays", "minimize-manhattan-distances"]}, {"contest_title": "\u7b2c 392 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 392", "contest_title_slug": "weekly-contest-392", "contest_id": 1018, "contest_start_time": 1712457000, "contest_duration": 5400, "user_num": 3194, "question_slugs": ["longest-strictly-increasing-or-strictly-decreasing-subarray", "lexicographically-smallest-string-after-operations-with-constraint", "minimum-operations-to-make-median-of-array-equal-to-k", "minimum-cost-walk-in-weighted-graph"]}, {"contest_title": "\u7b2c 393 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 393", "contest_title_slug": "weekly-contest-393", "contest_id": 1020, "contest_start_time": 1713061800, "contest_duration": 5400, "user_num": 4219, "question_slugs": ["latest-time-you-can-obtain-after-replacing-characters", "maximum-prime-difference", "kth-smallest-amount-with-single-denomination-combination", "minimum-sum-of-values-by-dividing-array"]}, {"contest_title": "\u7b2c 394 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 394", "contest_title_slug": "weekly-contest-394", "contest_id": 1024, "contest_start_time": 1713666600, "contest_duration": 5400, "user_num": 3958, "question_slugs": ["count-the-number-of-special-characters-i", "count-the-number-of-special-characters-ii", "minimum-number-of-operations-to-satisfy-conditions", "find-edges-in-shortest-paths"]}, {"contest_title": "\u7b2c 395 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 395", "contest_title_slug": "weekly-contest-395", "contest_id": 1026, "contest_start_time": 1714271400, "contest_duration": 5400, "user_num": 2969, "question_slugs": ["find-the-integer-added-to-array-i", "find-the-integer-added-to-array-ii", "minimum-array-end", "find-the-median-of-the-uniqueness-array"]}, {"contest_title": "\u7b2c 396 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 396", "contest_title_slug": "weekly-contest-396", "contest_id": 1030, "contest_start_time": 1714876200, "contest_duration": 5400, "user_num": 2932, "question_slugs": ["valid-word", "minimum-number-of-operations-to-make-word-k-periodic", "minimum-length-of-anagram-concatenation", "minimum-cost-to-equalize-array"]}, {"contest_title": "\u7b2c 397 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 397", "contest_title_slug": "weekly-contest-397", "contest_id": 1032, "contest_start_time": 1715481000, "contest_duration": 5400, "user_num": 3365, "question_slugs": ["permutation-difference-between-two-strings", "taking-maximum-energy-from-the-mystic-dungeon", "maximum-difference-score-in-a-grid", "find-the-minimum-cost-array-permutation"]}, {"contest_title": "\u7b2c 398 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 398", "contest_title_slug": "weekly-contest-398", "contest_id": 1036, "contest_start_time": 1716085800, "contest_duration": 5400, "user_num": 3606, "question_slugs": ["special-array-i", "special-array-ii", "sum-of-digit-differences-of-all-pairs", "find-number-of-ways-to-reach-the-k-th-stair"]}, {"contest_title": "\u7b2c 399 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 399", "contest_title_slug": "weekly-contest-399", "contest_id": 1038, "contest_start_time": 1716690600, "contest_duration": 5400, "user_num": 3424, "question_slugs": ["find-the-number-of-good-pairs-i", "string-compression-iii", "find-the-number-of-good-pairs-ii", "maximum-sum-of-subsequence-with-non-adjacent-elements"]}, {"contest_title": "\u7b2c 400 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 400", "contest_title_slug": "weekly-contest-400", "contest_id": 1043, "contest_start_time": 1717295400, "contest_duration": 5400, "user_num": 3534, "question_slugs": ["minimum-number-of-chairs-in-a-waiting-room", "count-days-without-meetings", "lexicographically-minimum-string-after-removing-stars", "find-subarray-with-bitwise-or-closest-to-k"]}, {"contest_title": "\u7b2c 401 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 401", "contest_title_slug": "weekly-contest-401", "contest_id": 1045, "contest_start_time": 1717900200, "contest_duration": 5400, "user_num": 3160, "question_slugs": ["find-the-child-who-has-the-ball-after-k-seconds", "find-the-n-th-value-after-k-seconds", "maximum-total-reward-using-operations-i", "maximum-total-reward-using-operations-ii"]}, {"contest_title": "\u7b2c 402 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 402", "contest_title_slug": "weekly-contest-402", "contest_id": 1049, "contest_start_time": 1718505000, "contest_duration": 5400, "user_num": 3283, "question_slugs": ["count-pairs-that-form-a-complete-day-i", "count-pairs-that-form-a-complete-day-ii", "maximum-total-damage-with-spell-casting", "peaks-in-array"]}, {"contest_title": "\u7b2c 403 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 403", "contest_title_slug": "weekly-contest-403", "contest_id": 1052, "contest_start_time": 1719109800, "contest_duration": 5400, "user_num": 3112, "question_slugs": ["minimum-average-of-smallest-and-largest-elements", "find-the-minimum-area-to-cover-all-ones-i", "maximize-total-cost-of-alternating-subarrays", "find-the-minimum-area-to-cover-all-ones-ii"]}, {"contest_title": "\u7b2c 404 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 404", "contest_title_slug": "weekly-contest-404", "contest_id": 1056, "contest_start_time": 1719714600, "contest_duration": 5400, "user_num": 3486, "question_slugs": ["maximum-height-of-a-triangle", "find-the-maximum-length-of-valid-subsequence-i", "find-the-maximum-length-of-valid-subsequence-ii", "find-minimum-diameter-after-merging-two-trees"]}, {"contest_title": "\u7b2c 405 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 405", "contest_title_slug": "weekly-contest-405", "contest_id": 1058, "contest_start_time": 1720319400, "contest_duration": 5400, "user_num": 3240, "question_slugs": ["find-the-encrypted-string", "generate-binary-strings-without-adjacent-zeros", "count-submatrices-with-equal-frequency-of-x-and-y", "construct-string-with-minimum-cost"]}, {"contest_title": "\u7b2c 406 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 406", "contest_title_slug": "weekly-contest-406", "contest_id": 1062, "contest_start_time": 1720924200, "contest_duration": 5400, "user_num": 3422, "question_slugs": ["lexicographically-smallest-string-after-a-swap", "delete-nodes-from-linked-list-present-in-array", "minimum-cost-for-cutting-cake-i", "minimum-cost-for-cutting-cake-ii"]}, {"contest_title": "\u7b2c 407 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 407", "contest_title_slug": "weekly-contest-407", "contest_id": 1064, "contest_start_time": 1721529000, "contest_duration": 5400, "user_num": 3268, "question_slugs": ["number-of-bit-changes-to-make-two-integers-equal", "vowels-game-in-a-string", "maximum-number-of-operations-to-move-ones-to-the-end", "minimum-operations-to-make-array-equal-to-target"]}, {"contest_title": "\u7b2c 408 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 408", "contest_title_slug": "weekly-contest-408", "contest_id": 1069, "contest_start_time": 1722133800, "contest_duration": 5400, "user_num": 3369, "question_slugs": ["find-if-digit-game-can-be-won", "find-the-count-of-numbers-which-are-not-special", "count-the-number-of-substrings-with-dominant-ones", "check-if-the-rectangle-corner-is-reachable"]}, {"contest_title": "\u7b2c 409 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 409", "contest_title_slug": "weekly-contest-409", "contest_id": 1071, "contest_start_time": 1722738600, "contest_duration": 5400, "user_num": 3643, "question_slugs": ["design-neighbor-sum-service", "shortest-distance-after-road-addition-queries-i", "shortest-distance-after-road-addition-queries-ii", "alternating-groups-iii"]}, {"contest_title": "\u7b2c 410 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 410", "contest_title_slug": "weekly-contest-410", "contest_id": 1075, "contest_start_time": 1723343400, "contest_duration": 5400, "user_num": 2988, "question_slugs": ["snake-in-matrix", "count-the-number-of-good-nodes", "find-the-count-of-monotonic-pairs-i", "find-the-count-of-monotonic-pairs-ii"]}, {"contest_title": "\u7b2c 411 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 411", "contest_title_slug": "weekly-contest-411", "contest_id": 1077, "contest_start_time": 1723948200, "contest_duration": 5400, "user_num": 3029, "question_slugs": ["count-substrings-that-satisfy-k-constraint-i", "maximum-energy-boost-from-two-drinks", "find-the-largest-palindrome-divisible-by-k", "count-substrings-that-satisfy-k-constraint-ii"]}, {"contest_title": "\u7b2c 412 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 412", "contest_title_slug": "weekly-contest-412", "contest_id": 1082, "contest_start_time": 1724553000, "contest_duration": 5400, "user_num": 2681, "question_slugs": ["final-array-state-after-k-multiplication-operations-i", "count-almost-equal-pairs-i", "final-array-state-after-k-multiplication-operations-ii", "count-almost-equal-pairs-ii"]}, {"contest_title": "\u7b2c 413 \u573a\u5468\u8d5b", "contest_title_en": "Weekly Contest 413", "contest_title_slug": "weekly-contest-413", "contest_id": 1084, "contest_start_time": 1725157800, "contest_duration": 5400, "user_num": 2875, "question_slugs": ["check-if-two-chessboard-squares-have-the-same-color", "k-th-nearest-obstacle-queries", "select-cells-in-grid-with-maximum-score", "maximum-xor-score-subarray-queries"]}, {"contest_title": "\u7b2c 1 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 1", "contest_title_slug": "biweekly-contest-1", "contest_id": 70, "contest_start_time": 1559399400, "contest_duration": 7200, "user_num": 197, "question_slugs": ["fixed-point", "index-pairs-of-a-string", "campus-bikes-ii", "digit-count-in-range"]}, {"contest_title": "\u7b2c 2 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 2", "contest_title_slug": "biweekly-contest-2", "contest_id": 73, "contest_start_time": 1560609000, "contest_duration": 5400, "user_num": 256, "question_slugs": ["sum-of-digits-in-the-minimum-number", "high-five", "brace-expansion", "confusing-number-ii"]}, {"contest_title": "\u7b2c 3 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 3", "contest_title_slug": "biweekly-contest-3", "contest_id": 85, "contest_start_time": 1561818600, "contest_duration": 5400, "user_num": 312, "question_slugs": ["two-sum-less-than-k", "find-k-length-substrings-with-no-repeated-characters", "the-earliest-moment-when-everyone-become-friends", "path-with-maximum-minimum-value"]}, {"contest_title": "\u7b2c 4 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 4", "contest_title_slug": "biweekly-contest-4", "contest_id": 88, "contest_start_time": 1563028200, "contest_duration": 5400, "user_num": 438, "question_slugs": ["number-of-days-in-a-month", "remove-vowels-from-a-string", "maximum-average-subtree", "divide-array-into-increasing-sequences"]}, {"contest_title": "\u7b2c 5 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 5", "contest_title_slug": "biweekly-contest-5", "contest_id": 91, "contest_start_time": 1564237800, "contest_duration": 5400, "user_num": 495, "question_slugs": ["largest-unique-number", "armstrong-number", "connecting-cities-with-minimum-cost", "parallel-courses"]}, {"contest_title": "\u7b2c 6 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 6", "contest_title_slug": "biweekly-contest-6", "contest_id": 95, "contest_start_time": 1565447400, "contest_duration": 5400, "user_num": 513, "question_slugs": ["check-if-a-number-is-majority-element-in-a-sorted-array", "minimum-swaps-to-group-all-1s-together", "analyze-user-website-visit-pattern", "string-transforms-into-another-string"]}, {"contest_title": "\u7b2c 7 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 7", "contest_title_slug": "biweekly-contest-7", "contest_id": 99, "contest_start_time": 1566657000, "contest_duration": 5400, "user_num": 561, "question_slugs": ["single-row-keyboard", "design-file-system", "minimum-cost-to-connect-sticks", "optimize-water-distribution-in-a-village"]}, {"contest_title": "\u7b2c 8 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 8", "contest_title_slug": "biweekly-contest-8", "contest_id": 103, "contest_start_time": 1567866600, "contest_duration": 5400, "user_num": 630, "question_slugs": ["count-substrings-with-only-one-distinct-letter", "before-and-after-puzzle", "shortest-distance-to-target-color", "maximum-number-of-ones"]}, {"contest_title": "\u7b2c 9 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 9", "contest_title_slug": "biweekly-contest-9", "contest_id": 108, "contest_start_time": 1569076200, "contest_duration": 5700, "user_num": 929, "question_slugs": ["how-many-apples-can-you-put-into-the-basket", "minimum-knight-moves", "find-smallest-common-element-in-all-rows", "minimum-time-to-build-blocks"]}, {"contest_title": "\u7b2c 10 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 10", "contest_title_slug": "biweekly-contest-10", "contest_id": 115, "contest_start_time": 1570285800, "contest_duration": 5400, "user_num": 738, "question_slugs": ["intersection-of-three-sorted-arrays", "two-sum-bsts", "stepping-numbers", "valid-palindrome-iii"]}, {"contest_title": "\u7b2c 11 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 11", "contest_title_slug": "biweekly-contest-11", "contest_id": 118, "contest_start_time": 1571495400, "contest_duration": 5400, "user_num": 913, "question_slugs": ["missing-number-in-arithmetic-progression", "meeting-scheduler", "toss-strange-coins", "divide-chocolate"]}, {"contest_title": "\u7b2c 12 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 12", "contest_title_slug": "biweekly-contest-12", "contest_id": 121, "contest_start_time": 1572705000, "contest_duration": 5400, "user_num": 911, "question_slugs": ["design-a-leaderboard", "array-transformation", "tree-diameter", "palindrome-removal"]}, {"contest_title": "\u7b2c 13 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 13", "contest_title_slug": "biweekly-contest-13", "contest_id": 124, "contest_start_time": 1573914600, "contest_duration": 5400, "user_num": 810, "question_slugs": ["encode-number", "smallest-common-region", "synonymous-sentences", "handshakes-that-dont-cross"]}, {"contest_title": "\u7b2c 14 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 14", "contest_title_slug": "biweekly-contest-14", "contest_id": 129, "contest_start_time": 1575124200, "contest_duration": 5400, "user_num": 871, "question_slugs": ["hexspeak", "remove-interval", "delete-tree-nodes", "number-of-ships-in-a-rectangle"]}, {"contest_title": "\u7b2c 15 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 15", "contest_title_slug": "biweekly-contest-15", "contest_id": 132, "contest_start_time": 1576333800, "contest_duration": 5400, "user_num": 797, "question_slugs": ["element-appearing-more-than-25-in-sorted-array", "remove-covered-intervals", "iterator-for-combination", "minimum-falling-path-sum-ii"]}, {"contest_title": "\u7b2c 16 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 16", "contest_title_slug": "biweekly-contest-16", "contest_id": 135, "contest_start_time": 1577543400, "contest_duration": 5400, "user_num": 822, "question_slugs": ["replace-elements-with-greatest-element-on-right-side", "sum-of-mutated-array-closest-to-target", "deepest-leaves-sum", "number-of-paths-with-max-score"]}, {"contest_title": "\u7b2c 17 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 17", "contest_title_slug": "biweekly-contest-17", "contest_id": 138, "contest_start_time": 1578753000, "contest_duration": 5400, "user_num": 897, "question_slugs": ["decompress-run-length-encoded-list", "matrix-block-sum", "sum-of-nodes-with-even-valued-grandparent", "distinct-echo-substrings"]}, {"contest_title": "\u7b2c 18 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 18", "contest_title_slug": "biweekly-contest-18", "contest_id": 143, "contest_start_time": 1579962600, "contest_duration": 5400, "user_num": 587, "question_slugs": ["rank-transform-of-an-array", "break-a-palindrome", "sort-the-matrix-diagonally", "reverse-subarray-to-maximize-array-value"]}, {"contest_title": "\u7b2c 19 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 19", "contest_title_slug": "biweekly-contest-19", "contest_id": 146, "contest_start_time": 1581172200, "contest_duration": 5400, "user_num": 1120, "question_slugs": ["number-of-steps-to-reduce-a-number-to-zero", "number-of-sub-arrays-of-size-k-and-average-greater-than-or-equal-to-threshold", "angle-between-hands-of-a-clock", "jump-game-iv"]}, {"contest_title": "\u7b2c 20 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 20", "contest_title_slug": "biweekly-contest-20", "contest_id": 149, "contest_start_time": 1582381800, "contest_duration": 5400, "user_num": 1541, "question_slugs": ["sort-integers-by-the-number-of-1-bits", "apply-discount-every-n-orders", "number-of-substrings-containing-all-three-characters", "count-all-valid-pickup-and-delivery-options"]}, {"contest_title": "\u7b2c 21 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 21", "contest_title_slug": "biweekly-contest-21", "contest_id": 157, "contest_start_time": 1583591400, "contest_duration": 5400, "user_num": 1913, "question_slugs": ["increasing-decreasing-string", "find-the-longest-substring-containing-vowels-in-even-counts", "longest-zigzag-path-in-a-binary-tree", "maximum-sum-bst-in-binary-tree"]}, {"contest_title": "\u7b2c 22 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 22", "contest_title_slug": "biweekly-contest-22", "contest_id": 163, "contest_start_time": 1584801000, "contest_duration": 5400, "user_num": 2042, "question_slugs": ["find-the-distance-value-between-two-arrays", "cinema-seat-allocation", "sort-integers-by-the-power-value", "pizza-with-3n-slices"]}, {"contest_title": "\u7b2c 23 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 23", "contest_title_slug": "biweekly-contest-23", "contest_id": 169, "contest_start_time": 1586010600, "contest_duration": 5400, "user_num": 2045, "question_slugs": ["count-largest-group", "construct-k-palindrome-strings", "circle-and-rectangle-overlapping", "reducing-dishes"]}, {"contest_title": "\u7b2c 24 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 24", "contest_title_slug": "biweekly-contest-24", "contest_id": 178, "contest_start_time": 1587220200, "contest_duration": 5400, "user_num": 1898, "question_slugs": ["minimum-value-to-get-positive-step-by-step-sum", "find-the-minimum-number-of-fibonacci-numbers-whose-sum-is-k", "the-k-th-lexicographical-string-of-all-happy-strings-of-length-n", "restore-the-array"]}, {"contest_title": "\u7b2c 25 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 25", "contest_title_slug": "biweekly-contest-25", "contest_id": 192, "contest_start_time": 1588429800, "contest_duration": 5400, "user_num": 1832, "question_slugs": ["kids-with-the-greatest-number-of-candies", "max-difference-you-can-get-from-changing-an-integer", "check-if-a-string-can-break-another-string", "number-of-ways-to-wear-different-hats-to-each-other"]}, {"contest_title": "\u7b2c 26 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 26", "contest_title_slug": "biweekly-contest-26", "contest_id": 198, "contest_start_time": 1589639400, "contest_duration": 5400, "user_num": 1971, "question_slugs": ["consecutive-characters", "simplified-fractions", "count-good-nodes-in-binary-tree", "form-largest-integer-with-digits-that-add-up-to-target"]}, {"contest_title": "\u7b2c 27 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 27", "contest_title_slug": "biweekly-contest-27", "contest_id": 204, "contest_start_time": 1590849000, "contest_duration": 5400, "user_num": 1966, "question_slugs": ["make-two-arrays-equal-by-reversing-subarrays", "check-if-a-string-contains-all-binary-codes-of-size-k", "course-schedule-iv", "cherry-pickup-ii"]}, {"contest_title": "\u7b2c 28 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 28", "contest_title_slug": "biweekly-contest-28", "contest_id": 210, "contest_start_time": 1592058600, "contest_duration": 5400, "user_num": 2144, "question_slugs": ["final-prices-with-a-special-discount-in-a-shop", "subrectangle-queries", "find-two-non-overlapping-sub-arrays-each-with-target-sum", "allocate-mailboxes"]}, {"contest_title": "\u7b2c 29 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 29", "contest_title_slug": "biweekly-contest-29", "contest_id": 216, "contest_start_time": 1593268200, "contest_duration": 5400, "user_num": 2260, "question_slugs": ["average-salary-excluding-the-minimum-and-maximum-salary", "the-kth-factor-of-n", "longest-subarray-of-1s-after-deleting-one-element", "parallel-courses-ii"]}, {"contest_title": "\u7b2c 30 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 30", "contest_title_slug": "biweekly-contest-30", "contest_id": 222, "contest_start_time": 1594477800, "contest_duration": 5400, "user_num": 2545, "question_slugs": ["reformat-date", "range-sum-of-sorted-subarray-sums", "minimum-difference-between-largest-and-smallest-value-in-three-moves", "stone-game-iv"]}, {"contest_title": "\u7b2c 31 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 31", "contest_title_slug": "biweekly-contest-31", "contest_id": 232, "contest_start_time": 1595687400, "contest_duration": 5400, "user_num": 2767, "question_slugs": ["count-odd-numbers-in-an-interval-range", "number-of-sub-arrays-with-odd-sum", "number-of-good-ways-to-split-a-string", "minimum-number-of-increments-on-subarrays-to-form-a-target-array"]}, {"contest_title": "\u7b2c 32 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 32", "contest_title_slug": "biweekly-contest-32", "contest_id": 237, "contest_start_time": 1596897000, "contest_duration": 5400, "user_num": 2957, "question_slugs": ["kth-missing-positive-number", "can-convert-string-in-k-moves", "minimum-insertions-to-balance-a-parentheses-string", "find-longest-awesome-substring"]}, {"contest_title": "\u7b2c 33 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 33", "contest_title_slug": "biweekly-contest-33", "contest_id": 241, "contest_start_time": 1598106600, "contest_duration": 5400, "user_num": 3304, "question_slugs": ["thousand-separator", "minimum-number-of-vertices-to-reach-all-nodes", "minimum-numbers-of-function-calls-to-make-target-array", "detect-cycles-in-2d-grid"]}, {"contest_title": "\u7b2c 34 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 34", "contest_title_slug": "biweekly-contest-34", "contest_id": 256, "contest_start_time": 1599316200, "contest_duration": 5400, "user_num": 2842, "question_slugs": ["matrix-diagonal-sum", "number-of-ways-to-split-a-string", "shortest-subarray-to-be-removed-to-make-array-sorted", "count-all-possible-routes"]}, {"contest_title": "\u7b2c 35 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 35", "contest_title_slug": "biweekly-contest-35", "contest_id": 266, "contest_start_time": 1600525800, "contest_duration": 5400, "user_num": 2839, "question_slugs": ["sum-of-all-odd-length-subarrays", "maximum-sum-obtained-of-any-permutation", "make-sum-divisible-by-p", "strange-printer-ii"]}, {"contest_title": "\u7b2c 36 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 36", "contest_title_slug": "biweekly-contest-36", "contest_id": 288, "contest_start_time": 1601735400, "contest_duration": 5400, "user_num": 2204, "question_slugs": ["design-parking-system", "alert-using-same-key-card-three-or-more-times-in-a-one-hour-period", "find-valid-matrix-given-row-and-column-sums", "find-servers-that-handled-most-number-of-requests"]}, {"contest_title": "\u7b2c 37 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 37", "contest_title_slug": "biweekly-contest-37", "contest_id": 294, "contest_start_time": 1602945000, "contest_duration": 5400, "user_num": 2104, "question_slugs": ["mean-of-array-after-removing-some-elements", "coordinate-with-maximum-network-quality", "number-of-sets-of-k-non-overlapping-line-segments", "fancy-sequence"]}, {"contest_title": "\u7b2c 38 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 38", "contest_title_slug": "biweekly-contest-38", "contest_id": 300, "contest_start_time": 1604154600, "contest_duration": 5400, "user_num": 2004, "question_slugs": ["sort-array-by-increasing-frequency", "widest-vertical-area-between-two-points-containing-no-points", "count-substrings-that-differ-by-one-character", "number-of-ways-to-form-a-target-string-given-a-dictionary"]}, {"contest_title": "\u7b2c 39 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 39", "contest_title_slug": "biweekly-contest-39", "contest_id": 306, "contest_start_time": 1605364200, "contest_duration": 5400, "user_num": 2069, "question_slugs": ["defuse-the-bomb", "minimum-deletions-to-make-string-balanced", "minimum-jumps-to-reach-home", "distribute-repeating-integers"]}, {"contest_title": "\u7b2c 40 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 40", "contest_title_slug": "biweekly-contest-40", "contest_id": 312, "contest_start_time": 1606573800, "contest_duration": 5400, "user_num": 1891, "question_slugs": ["maximum-repeating-substring", "merge-in-between-linked-lists", "design-front-middle-back-queue", "minimum-number-of-removals-to-make-mountain-array"]}, {"contest_title": "\u7b2c 41 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 41", "contest_title_slug": "biweekly-contest-41", "contest_id": 318, "contest_start_time": 1607783400, "contest_duration": 5400, "user_num": 1660, "question_slugs": ["count-the-number-of-consistent-strings", "sum-of-absolute-differences-in-a-sorted-array", "stone-game-vi", "delivering-boxes-from-storage-to-ports"]}, {"contest_title": "\u7b2c 42 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 42", "contest_title_slug": "biweekly-contest-42", "contest_id": 325, "contest_start_time": 1608993000, "contest_duration": 5400, "user_num": 1578, "question_slugs": ["number-of-students-unable-to-eat-lunch", "average-waiting-time", "maximum-binary-string-after-change", "minimum-adjacent-swaps-for-k-consecutive-ones"]}, {"contest_title": "\u7b2c 43 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 43", "contest_title_slug": "biweekly-contest-43", "contest_id": 331, "contest_start_time": 1610202600, "contest_duration": 5400, "user_num": 1631, "question_slugs": ["calculate-money-in-leetcode-bank", "maximum-score-from-removing-substrings", "construct-the-lexicographically-largest-valid-sequence", "number-of-ways-to-reconstruct-a-tree"]}, {"contest_title": "\u7b2c 44 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 44", "contest_title_slug": "biweekly-contest-44", "contest_id": 337, "contest_start_time": 1611412200, "contest_duration": 5400, "user_num": 1826, "question_slugs": ["find-the-highest-altitude", "minimum-number-of-people-to-teach", "decode-xored-permutation", "count-ways-to-make-array-with-product"]}, {"contest_title": "\u7b2c 45 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 45", "contest_title_slug": "biweekly-contest-45", "contest_id": 343, "contest_start_time": 1612621800, "contest_duration": 5400, "user_num": 1676, "question_slugs": ["sum-of-unique-elements", "maximum-absolute-sum-of-any-subarray", "minimum-length-of-string-after-deleting-similar-ends", "maximum-number-of-events-that-can-be-attended-ii"]}, {"contest_title": "\u7b2c 46 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 46", "contest_title_slug": "biweekly-contest-46", "contest_id": 349, "contest_start_time": 1613831400, "contest_duration": 5400, "user_num": 1647, "question_slugs": ["longest-nice-substring", "form-array-by-concatenating-subarrays-of-another-array", "map-of-highest-peak", "tree-of-coprimes"]}, {"contest_title": "\u7b2c 47 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 47", "contest_title_slug": "biweekly-contest-47", "contest_id": 355, "contest_start_time": 1615041000, "contest_duration": 5400, "user_num": 3085, "question_slugs": ["find-nearest-point-that-has-the-same-x-or-y-coordinate", "check-if-number-is-a-sum-of-powers-of-three", "sum-of-beauty-of-all-substrings", "count-pairs-of-nodes"]}, {"contest_title": "\u7b2c 48 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 48", "contest_title_slug": "biweekly-contest-48", "contest_id": 362, "contest_start_time": 1616250600, "contest_duration": 5400, "user_num": 2853, "question_slugs": ["second-largest-digit-in-a-string", "design-authentication-manager", "maximum-number-of-consecutive-values-you-can-make", "maximize-score-after-n-operations"]}, {"contest_title": "\u7b2c 49 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 49", "contest_title_slug": "biweekly-contest-49", "contest_id": 374, "contest_start_time": 1617460200, "contest_duration": 5400, "user_num": 3193, "question_slugs": ["determine-color-of-a-chessboard-square", "sentence-similarity-iii", "count-nice-pairs-in-an-array", "maximum-number-of-groups-getting-fresh-donuts"]}, {"contest_title": "\u7b2c 50 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 50", "contest_title_slug": "biweekly-contest-50", "contest_id": 390, "contest_start_time": 1618669800, "contest_duration": 5400, "user_num": 3608, "question_slugs": ["minimum-operations-to-make-the-array-increasing", "queries-on-number-of-points-inside-a-circle", "maximum-xor-for-each-query", "minimum-number-of-operations-to-make-string-sorted"]}, {"contest_title": "\u7b2c 51 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 51", "contest_title_slug": "biweekly-contest-51", "contest_id": 396, "contest_start_time": 1619879400, "contest_duration": 5400, "user_num": 2675, "question_slugs": ["replace-all-digits-with-characters", "seat-reservation-manager", "maximum-element-after-decreasing-and-rearranging", "closest-room"]}, {"contest_title": "\u7b2c 52 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 52", "contest_title_slug": "biweekly-contest-52", "contest_id": 402, "contest_start_time": 1621089000, "contest_duration": 5400, "user_num": 2930, "question_slugs": ["sorting-the-sentence", "incremental-memory-leak", "rotating-the-box", "sum-of-floored-pairs"]}, {"contest_title": "\u7b2c 53 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 53", "contest_title_slug": "biweekly-contest-53", "contest_id": 408, "contest_start_time": 1622298600, "contest_duration": 5400, "user_num": 3069, "question_slugs": ["substrings-of-size-three-with-distinct-characters", "minimize-maximum-pair-sum-in-array", "get-biggest-three-rhombus-sums-in-a-grid", "minimum-xor-sum-of-two-arrays"]}, {"contest_title": "\u7b2c 54 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 54", "contest_title_slug": "biweekly-contest-54", "contest_id": 414, "contest_start_time": 1623508200, "contest_duration": 5400, "user_num": 2479, "question_slugs": ["check-if-all-the-integers-in-a-range-are-covered", "find-the-student-that-will-replace-the-chalk", "largest-magic-square", "minimum-cost-to-change-the-final-value-of-expression"]}, {"contest_title": "\u7b2c 55 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 55", "contest_title_slug": "biweekly-contest-55", "contest_id": 421, "contest_start_time": 1624717800, "contest_duration": 5400, "user_num": 3277, "question_slugs": ["remove-one-element-to-make-the-array-strictly-increasing", "remove-all-occurrences-of-a-substring", "maximum-alternating-subsequence-sum", "design-movie-rental-system"]}, {"contest_title": "\u7b2c 56 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 56", "contest_title_slug": "biweekly-contest-56", "contest_id": 429, "contest_start_time": 1625927400, "contest_duration": 5400, "user_num": 2760, "question_slugs": ["count-square-sum-triples", "nearest-exit-from-entrance-in-maze", "sum-game", "minimum-cost-to-reach-destination-in-time"]}, {"contest_title": "\u7b2c 57 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 57", "contest_title_slug": "biweekly-contest-57", "contest_id": 435, "contest_start_time": 1627137000, "contest_duration": 5400, "user_num": 2933, "question_slugs": ["check-if-all-characters-have-equal-number-of-occurrences", "the-number-of-the-smallest-unoccupied-chair", "describe-the-painting", "number-of-visible-people-in-a-queue"]}, {"contest_title": "\u7b2c 58 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 58", "contest_title_slug": "biweekly-contest-58", "contest_id": 441, "contest_start_time": 1628346600, "contest_duration": 5400, "user_num": 2889, "question_slugs": ["delete-characters-to-make-fancy-string", "check-if-move-is-legal", "minimum-total-space-wasted-with-k-resizing-operations", "maximum-product-of-the-length-of-two-palindromic-substrings"]}, {"contest_title": "\u7b2c 59 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 59", "contest_title_slug": "biweekly-contest-59", "contest_id": 448, "contest_start_time": 1629556200, "contest_duration": 5400, "user_num": 3030, "question_slugs": ["minimum-time-to-type-word-using-special-typewriter", "maximum-matrix-sum", "number-of-ways-to-arrive-at-destination", "number-of-ways-to-separate-numbers"]}, {"contest_title": "\u7b2c 60 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 60", "contest_title_slug": "biweekly-contest-60", "contest_id": 461, "contest_start_time": 1630765800, "contest_duration": 5400, "user_num": 2848, "question_slugs": ["find-the-middle-index-in-array", "find-all-groups-of-farmland", "operations-on-tree", "the-number-of-good-subsets"]}, {"contest_title": "\u7b2c 61 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 61", "contest_title_slug": "biweekly-contest-61", "contest_id": 467, "contest_start_time": 1631975400, "contest_duration": 5400, "user_num": 2534, "question_slugs": ["count-number-of-pairs-with-absolute-difference-k", "find-original-array-from-doubled-array", "maximum-earnings-from-taxi", "minimum-number-of-operations-to-make-array-continuous"]}, {"contest_title": "\u7b2c 62 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 62", "contest_title_slug": "biweekly-contest-62", "contest_id": 477, "contest_start_time": 1633185000, "contest_duration": 5400, "user_num": 2619, "question_slugs": ["convert-1d-array-into-2d-array", "number-of-pairs-of-strings-with-concatenation-equal-to-target", "maximize-the-confusion-of-an-exam", "maximum-number-of-ways-to-partition-an-array"]}, {"contest_title": "\u7b2c 63 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 63", "contest_title_slug": "biweekly-contest-63", "contest_id": 484, "contest_start_time": 1634394600, "contest_duration": 5400, "user_num": 2828, "question_slugs": ["minimum-number-of-moves-to-seat-everyone", "remove-colored-pieces-if-both-neighbors-are-the-same-color", "the-time-when-the-network-becomes-idle", "kth-smallest-product-of-two-sorted-arrays"]}, {"contest_title": "\u7b2c 64 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 64", "contest_title_slug": "biweekly-contest-64", "contest_id": 490, "contest_start_time": 1635604200, "contest_duration": 5400, "user_num": 2838, "question_slugs": ["kth-distinct-string-in-an-array", "two-best-non-overlapping-events", "plates-between-candles", "number-of-valid-move-combinations-on-chessboard"]}, {"contest_title": "\u7b2c 65 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 65", "contest_title_slug": "biweekly-contest-65", "contest_id": 497, "contest_start_time": 1636813800, "contest_duration": 5400, "user_num": 2676, "question_slugs": ["check-whether-two-strings-are-almost-equivalent", "walking-robot-simulation-ii", "most-beautiful-item-for-each-query", "maximum-number-of-tasks-you-can-assign"]}, {"contest_title": "\u7b2c 66 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 66", "contest_title_slug": "biweekly-contest-66", "contest_id": 503, "contest_start_time": 1638023400, "contest_duration": 5400, "user_num": 2803, "question_slugs": ["count-common-words-with-one-occurrence", "minimum-number-of-food-buckets-to-feed-the-hamsters", "minimum-cost-homecoming-of-a-robot-in-a-grid", "count-fertile-pyramids-in-a-land"]}, {"contest_title": "\u7b2c 67 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 67", "contest_title_slug": "biweekly-contest-67", "contest_id": 509, "contest_start_time": 1639233000, "contest_duration": 5400, "user_num": 2923, "question_slugs": ["find-subsequence-of-length-k-with-the-largest-sum", "find-good-days-to-rob-the-bank", "detonate-the-maximum-bombs", "sequentially-ordinal-rank-tracker"]}, {"contest_title": "\u7b2c 68 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 68", "contest_title_slug": "biweekly-contest-68", "contest_id": 515, "contest_start_time": 1640442600, "contest_duration": 5400, "user_num": 2854, "question_slugs": ["maximum-number-of-words-found-in-sentences", "find-all-possible-recipes-from-given-supplies", "check-if-a-parentheses-string-can-be-valid", "abbreviating-the-product-of-a-range"]}, {"contest_title": "\u7b2c 69 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 69", "contest_title_slug": "biweekly-contest-69", "contest_id": 521, "contest_start_time": 1641652200, "contest_duration": 5400, "user_num": 3360, "question_slugs": ["capitalize-the-title", "maximum-twin-sum-of-a-linked-list", "longest-palindrome-by-concatenating-two-letter-words", "stamping-the-grid"]}, {"contest_title": "\u7b2c 70 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 70", "contest_title_slug": "biweekly-contest-70", "contest_id": 527, "contest_start_time": 1642861800, "contest_duration": 5400, "user_num": 3640, "question_slugs": ["minimum-cost-of-buying-candies-with-discount", "count-the-hidden-sequences", "k-highest-ranked-items-within-a-price-range", "number-of-ways-to-divide-a-long-corridor"]}, {"contest_title": "\u7b2c 71 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 71", "contest_title_slug": "biweekly-contest-71", "contest_id": 533, "contest_start_time": 1644071400, "contest_duration": 5400, "user_num": 3028, "question_slugs": ["minimum-sum-of-four-digit-number-after-splitting-digits", "partition-array-according-to-given-pivot", "minimum-cost-to-set-cooking-time", "minimum-difference-in-sums-after-removal-of-elements"]}, {"contest_title": "\u7b2c 72 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 72", "contest_title_slug": "biweekly-contest-72", "contest_id": 539, "contest_start_time": 1645281000, "contest_duration": 5400, "user_num": 4400, "question_slugs": ["count-equal-and-divisible-pairs-in-an-array", "find-three-consecutive-integers-that-sum-to-a-given-number", "maximum-split-of-positive-even-integers", "count-good-triplets-in-an-array"]}, {"contest_title": "\u7b2c 73 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 73", "contest_title_slug": "biweekly-contest-73", "contest_id": 545, "contest_start_time": 1646490600, "contest_duration": 5400, "user_num": 5132, "question_slugs": ["most-frequent-number-following-key-in-an-array", "sort-the-jumbled-numbers", "all-ancestors-of-a-node-in-a-directed-acyclic-graph", "minimum-number-of-moves-to-make-palindrome"]}, {"contest_title": "\u7b2c 74 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 74", "contest_title_slug": "biweekly-contest-74", "contest_id": 554, "contest_start_time": 1647700200, "contest_duration": 5400, "user_num": 5442, "question_slugs": ["divide-array-into-equal-pairs", "maximize-number-of-subsequences-in-a-string", "minimum-operations-to-halve-array-sum", "minimum-white-tiles-after-covering-with-carpets"]}, {"contest_title": "\u7b2c 75 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 75", "contest_title_slug": "biweekly-contest-75", "contest_id": 563, "contest_start_time": 1648909800, "contest_duration": 5400, "user_num": 4335, "question_slugs": ["minimum-bit-flips-to-convert-number", "find-triangular-sum-of-an-array", "number-of-ways-to-select-buildings", "sum-of-scores-of-built-strings"]}, {"contest_title": "\u7b2c 76 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 76", "contest_title_slug": "biweekly-contest-76", "contest_id": 572, "contest_start_time": 1650119400, "contest_duration": 5400, "user_num": 4477, "question_slugs": ["find-closest-number-to-zero", "number-of-ways-to-buy-pens-and-pencils", "design-an-atm-machine", "maximum-score-of-a-node-sequence"]}, {"contest_title": "\u7b2c 77 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 77", "contest_title_slug": "biweekly-contest-77", "contest_id": 581, "contest_start_time": 1651329000, "contest_duration": 5400, "user_num": 4211, "question_slugs": ["count-prefixes-of-a-given-string", "minimum-average-difference", "count-unguarded-cells-in-the-grid", "escape-the-spreading-fire"]}, {"contest_title": "\u7b2c 78 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 78", "contest_title_slug": "biweekly-contest-78", "contest_id": 590, "contest_start_time": 1652538600, "contest_duration": 5400, "user_num": 4347, "question_slugs": ["find-the-k-beauty-of-a-number", "number-of-ways-to-split-array", "maximum-white-tiles-covered-by-a-carpet", "substring-with-largest-variance"]}, {"contest_title": "\u7b2c 79 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 79", "contest_title_slug": "biweekly-contest-79", "contest_id": 598, "contest_start_time": 1653748200, "contest_duration": 5400, "user_num": 4250, "question_slugs": ["check-if-number-has-equal-digit-count-and-digit-value", "sender-with-largest-word-count", "maximum-total-importance-of-roads", "booking-concert-tickets-in-groups"]}, {"contest_title": "\u7b2c 80 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 80", "contest_title_slug": "biweekly-contest-80", "contest_id": 608, "contest_start_time": 1654957800, "contest_duration": 5400, "user_num": 3949, "question_slugs": ["strong-password-checker-ii", "successful-pairs-of-spells-and-potions", "match-substring-after-replacement", "count-subarrays-with-score-less-than-k"]}, {"contest_title": "\u7b2c 81 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 81", "contest_title_slug": "biweekly-contest-81", "contest_id": 614, "contest_start_time": 1656167400, "contest_duration": 5400, "user_num": 3847, "question_slugs": ["count-asterisks", "count-unreachable-pairs-of-nodes-in-an-undirected-graph", "maximum-xor-after-operations", "number-of-distinct-roll-sequences"]}, {"contest_title": "\u7b2c 82 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 82", "contest_title_slug": "biweekly-contest-82", "contest_id": 646, "contest_start_time": 1657377000, "contest_duration": 5400, "user_num": 4144, "question_slugs": ["evaluate-boolean-binary-tree", "the-latest-time-to-catch-a-bus", "minimum-sum-of-squared-difference", "subarray-with-elements-greater-than-varying-threshold"]}, {"contest_title": "\u7b2c 83 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 83", "contest_title_slug": "biweekly-contest-83", "contest_id": 652, "contest_start_time": 1658586600, "contest_duration": 5400, "user_num": 4437, "question_slugs": ["best-poker-hand", "number-of-zero-filled-subarrays", "design-a-number-container-system", "shortest-impossible-sequence-of-rolls"]}, {"contest_title": "\u7b2c 84 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 84", "contest_title_slug": "biweekly-contest-84", "contest_id": 658, "contest_start_time": 1659796200, "contest_duration": 5400, "user_num": 4574, "question_slugs": ["merge-similar-items", "count-number-of-bad-pairs", "task-scheduler-ii", "minimum-replacements-to-sort-the-array"]}, {"contest_title": "\u7b2c 85 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 85", "contest_title_slug": "biweekly-contest-85", "contest_id": 668, "contest_start_time": 1661005800, "contest_duration": 5400, "user_num": 4193, "question_slugs": ["minimum-recolors-to-get-k-consecutive-black-blocks", "time-needed-to-rearrange-a-binary-string", "shifting-letters-ii", "maximum-segment-sum-after-removals"]}, {"contest_title": "\u7b2c 86 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 86", "contest_title_slug": "biweekly-contest-86", "contest_id": 688, "contest_start_time": 1662215400, "contest_duration": 5400, "user_num": 4401, "question_slugs": ["find-subarrays-with-equal-sum", "strictly-palindromic-number", "maximum-rows-covered-by-columns", "maximum-number-of-robots-within-budget"]}, {"contest_title": "\u7b2c 87 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 87", "contest_title_slug": "biweekly-contest-87", "contest_id": 703, "contest_start_time": 1663425000, "contest_duration": 5400, "user_num": 4005, "question_slugs": ["count-days-spent-together", "maximum-matching-of-players-with-trainers", "smallest-subarrays-with-maximum-bitwise-or", "minimum-money-required-before-transactions"]}, {"contest_title": "\u7b2c 88 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 88", "contest_title_slug": "biweekly-contest-88", "contest_id": 745, "contest_start_time": 1664634600, "contest_duration": 5400, "user_num": 3905, "question_slugs": ["remove-letter-to-equalize-frequency", "longest-uploaded-prefix", "bitwise-xor-of-all-pairings", "number-of-pairs-satisfying-inequality"]}, {"contest_title": "\u7b2c 89 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 89", "contest_title_slug": "biweekly-contest-89", "contest_id": 755, "contest_start_time": 1665844200, "contest_duration": 5400, "user_num": 3984, "question_slugs": ["number-of-valid-clock-times", "range-product-queries-of-powers", "minimize-maximum-of-array", "create-components-with-same-value"]}, {"contest_title": "\u7b2c 90 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 90", "contest_title_slug": "biweekly-contest-90", "contest_id": 763, "contest_start_time": 1667053800, "contest_duration": 5400, "user_num": 3624, "question_slugs": ["odd-string-difference", "words-within-two-edits-of-dictionary", "destroy-sequential-targets", "next-greater-element-iv"]}, {"contest_title": "\u7b2c 91 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 91", "contest_title_slug": "biweekly-contest-91", "contest_id": 770, "contest_start_time": 1668263400, "contest_duration": 5400, "user_num": 3535, "question_slugs": ["number-of-distinct-averages", "count-ways-to-build-good-strings", "most-profitable-path-in-a-tree", "split-message-based-on-limit"]}, {"contest_title": "\u7b2c 92 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 92", "contest_title_slug": "biweekly-contest-92", "contest_id": 776, "contest_start_time": 1669473000, "contest_duration": 5400, "user_num": 3055, "question_slugs": ["minimum-cuts-to-divide-a-circle", "difference-between-ones-and-zeros-in-row-and-column", "minimum-penalty-for-a-shop", "count-palindromic-subsequences"]}, {"contest_title": "\u7b2c 93 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 93", "contest_title_slug": "biweekly-contest-93", "contest_id": 782, "contest_start_time": 1670682600, "contest_duration": 5400, "user_num": 2929, "question_slugs": ["maximum-value-of-a-string-in-an-array", "maximum-star-sum-of-a-graph", "frog-jump-ii", "minimum-total-cost-to-make-arrays-unequal"]}, {"contest_title": "\u7b2c 94 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 94", "contest_title_slug": "biweekly-contest-94", "contest_id": 789, "contest_start_time": 1671892200, "contest_duration": 5400, "user_num": 2298, "question_slugs": ["maximum-enemy-forts-that-can-be-captured", "reward-top-k-students", "minimize-the-maximum-of-two-arrays", "count-anagrams"]}, {"contest_title": "\u7b2c 95 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 95", "contest_title_slug": "biweekly-contest-95", "contest_id": 798, "contest_start_time": 1673101800, "contest_duration": 5400, "user_num": 2880, "question_slugs": ["categorize-box-according-to-criteria", "find-consecutive-integers-from-a-data-stream", "find-xor-beauty-of-array", "maximize-the-minimum-powered-city"]}, {"contest_title": "\u7b2c 96 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 96", "contest_title_slug": "biweekly-contest-96", "contest_id": 804, "contest_start_time": 1674311400, "contest_duration": 5400, "user_num": 2103, "question_slugs": ["minimum-common-value", "minimum-operations-to-make-array-equal-ii", "maximum-subsequence-score", "check-if-point-is-reachable"]}, {"contest_title": "\u7b2c 97 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 97", "contest_title_slug": "biweekly-contest-97", "contest_id": 810, "contest_start_time": 1675521000, "contest_duration": 5400, "user_num": 2631, "question_slugs": ["separate-the-digits-in-an-array", "maximum-number-of-integers-to-choose-from-a-range-i", "maximize-win-from-two-segments", "disconnect-path-in-a-binary-matrix-by-at-most-one-flip"]}, {"contest_title": "\u7b2c 98 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 98", "contest_title_slug": "biweekly-contest-98", "contest_id": 816, "contest_start_time": 1676730600, "contest_duration": 5400, "user_num": 3250, "question_slugs": ["maximum-difference-by-remapping-a-digit", "minimum-score-by-changing-two-elements", "minimum-impossible-or", "handling-sum-queries-after-update"]}, {"contest_title": "\u7b2c 99 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 99", "contest_title_slug": "biweekly-contest-99", "contest_id": 822, "contest_start_time": 1677940200, "contest_duration": 5400, "user_num": 3467, "question_slugs": ["split-with-minimum-sum", "count-total-number-of-colored-cells", "count-ways-to-group-overlapping-ranges", "count-number-of-possible-root-nodes"]}, {"contest_title": "\u7b2c 100 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 100", "contest_title_slug": "biweekly-contest-100", "contest_id": 832, "contest_start_time": 1679149800, "contest_duration": 5400, "user_num": 3639, "question_slugs": ["distribute-money-to-maximum-children", "maximize-greatness-of-an-array", "find-score-of-an-array-after-marking-all-elements", "minimum-time-to-repair-cars"]}, {"contest_title": "\u7b2c 101 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 101", "contest_title_slug": "biweekly-contest-101", "contest_id": 842, "contest_start_time": 1680359400, "contest_duration": 5400, "user_num": 3353, "question_slugs": ["form-smallest-number-from-two-digit-arrays", "find-the-substring-with-maximum-cost", "make-k-subarray-sums-equal", "shortest-cycle-in-a-graph"]}, {"contest_title": "\u7b2c 102 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 102", "contest_title_slug": "biweekly-contest-102", "contest_id": 853, "contest_start_time": 1681569000, "contest_duration": 5400, "user_num": 3058, "question_slugs": ["find-the-width-of-columns-of-a-grid", "find-the-score-of-all-prefixes-of-an-array", "cousins-in-binary-tree-ii", "design-graph-with-shortest-path-calculator"]}, {"contest_title": "\u7b2c 103 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 103", "contest_title_slug": "biweekly-contest-103", "contest_id": 859, "contest_start_time": 1682778600, "contest_duration": 5400, "user_num": 2299, "question_slugs": ["maximum-sum-with-exactly-k-elements", "find-the-prefix-common-array-of-two-arrays", "maximum-number-of-fish-in-a-grid", "make-array-empty"]}, {"contest_title": "\u7b2c 104 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 104", "contest_title_slug": "biweekly-contest-104", "contest_id": 866, "contest_start_time": 1683988200, "contest_duration": 5400, "user_num": 2519, "question_slugs": ["number-of-senior-citizens", "sum-in-a-matrix", "maximum-or", "power-of-heroes"]}, {"contest_title": "\u7b2c 105 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 105", "contest_title_slug": "biweekly-contest-105", "contest_id": 873, "contest_start_time": 1685197800, "contest_duration": 5400, "user_num": 2604, "question_slugs": ["buy-two-chocolates", "extra-characters-in-a-string", "maximum-strength-of-a-group", "greatest-common-divisor-traversal"]}, {"contest_title": "\u7b2c 106 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 106", "contest_title_slug": "biweekly-contest-106", "contest_id": 879, "contest_start_time": 1686407400, "contest_duration": 5400, "user_num": 2346, "question_slugs": ["check-if-the-number-is-fascinating", "find-the-longest-semi-repetitive-substring", "movement-of-robots", "find-a-good-subset-of-the-matrix"]}, {"contest_title": "\u7b2c 107 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 107", "contest_title_slug": "biweekly-contest-107", "contest_id": 885, "contest_start_time": 1687617000, "contest_duration": 5400, "user_num": 1870, "question_slugs": ["find-maximum-number-of-string-pairs", "construct-the-longest-new-string", "decremental-string-concatenation", "count-zero-request-servers"]}, {"contest_title": "\u7b2c 108 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 108", "contest_title_slug": "biweekly-contest-108", "contest_id": 891, "contest_start_time": 1688826600, "contest_duration": 5400, "user_num": 2349, "question_slugs": ["longest-alternating-subarray", "relocate-marbles", "partition-string-into-minimum-beautiful-substrings", "number-of-black-blocks"]}, {"contest_title": "\u7b2c 109 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 109", "contest_title_slug": "biweekly-contest-109", "contest_id": 897, "contest_start_time": 1690036200, "contest_duration": 5400, "user_num": 2461, "question_slugs": ["check-if-array-is-good", "sort-vowels-in-a-string", "visit-array-positions-to-maximize-score", "ways-to-express-an-integer-as-sum-of-powers"]}, {"contest_title": "\u7b2c 110 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 110", "contest_title_slug": "biweekly-contest-110", "contest_id": 903, "contest_start_time": 1691245800, "contest_duration": 5400, "user_num": 2546, "question_slugs": ["account-balance-after-rounded-purchase", "insert-greatest-common-divisors-in-linked-list", "minimum-seconds-to-equalize-a-circular-array", "minimum-time-to-make-array-sum-at-most-x"]}, {"contest_title": "\u7b2c 111 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 111", "contest_title_slug": "biweekly-contest-111", "contest_id": 909, "contest_start_time": 1692455400, "contest_duration": 5400, "user_num": 2787, "question_slugs": ["count-pairs-whose-sum-is-less-than-target", "make-string-a-subsequence-using-cyclic-increments", "sorting-three-groups", "number-of-beautiful-integers-in-the-range"]}, {"contest_title": "\u7b2c 112 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 112", "contest_title_slug": "biweekly-contest-112", "contest_id": 917, "contest_start_time": 1693665000, "contest_duration": 5400, "user_num": 2900, "question_slugs": ["check-if-strings-can-be-made-equal-with-operations-i", "check-if-strings-can-be-made-equal-with-operations-ii", "maximum-sum-of-almost-unique-subarray", "count-k-subsequences-of-a-string-with-maximum-beauty"]}, {"contest_title": "\u7b2c 113 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 113", "contest_title_slug": "biweekly-contest-113", "contest_id": 923, "contest_start_time": 1694874600, "contest_duration": 5400, "user_num": 3028, "question_slugs": ["minimum-right-shifts-to-sort-the-array", "minimum-array-length-after-pair-removals", "count-pairs-of-points-with-distance-k", "minimum-edge-reversals-so-every-node-is-reachable"]}, {"contest_title": "\u7b2c 114 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 114", "contest_title_slug": "biweekly-contest-114", "contest_id": 929, "contest_start_time": 1696084200, "contest_duration": 5400, "user_num": 2406, "question_slugs": ["minimum-operations-to-collect-elements", "minimum-number-of-operations-to-make-array-empty", "split-array-into-maximum-number-of-subarrays", "maximum-number-of-k-divisible-components"]}, {"contest_title": "\u7b2c 115 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 115", "contest_title_slug": "biweekly-contest-115", "contest_id": 935, "contest_start_time": 1697293800, "contest_duration": 5400, "user_num": 2809, "question_slugs": ["last-visited-integers", "longest-unequal-adjacent-groups-subsequence-i", "longest-unequal-adjacent-groups-subsequence-ii", "count-of-sub-multisets-with-bounded-sum"]}, {"contest_title": "\u7b2c 116 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 116", "contest_title_slug": "biweekly-contest-116", "contest_id": 941, "contest_start_time": 1698503400, "contest_duration": 5400, "user_num": 2904, "question_slugs": ["subarrays-distinct-element-sum-of-squares-i", "minimum-number-of-changes-to-make-binary-string-beautiful", "length-of-the-longest-subsequence-that-sums-to-target", "subarrays-distinct-element-sum-of-squares-ii"]}, {"contest_title": "\u7b2c 117 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 117", "contest_title_slug": "biweekly-contest-117", "contest_id": 949, "contest_start_time": 1699713000, "contest_duration": 5400, "user_num": 2629, "question_slugs": ["distribute-candies-among-children-i", "distribute-candies-among-children-ii", "number-of-strings-which-can-be-rearranged-to-contain-substring", "maximum-spending-after-buying-items"]}, {"contest_title": "\u7b2c 118 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 118", "contest_title_slug": "biweekly-contest-118", "contest_id": 955, "contest_start_time": 1700922600, "contest_duration": 5400, "user_num": 2425, "question_slugs": ["find-words-containing-character", "maximize-area-of-square-hole-in-grid", "minimum-number-of-coins-for-fruits", "find-maximum-non-decreasing-array-length"]}, {"contest_title": "\u7b2c 119 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 119", "contest_title_slug": "biweekly-contest-119", "contest_id": 961, "contest_start_time": 1702132200, "contest_duration": 5400, "user_num": 2472, "question_slugs": ["find-common-elements-between-two-arrays", "remove-adjacent-almost-equal-characters", "length-of-longest-subarray-with-at-most-k-frequency", "number-of-possible-sets-of-closing-branches"]}, {"contest_title": "\u7b2c 120 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 120", "contest_title_slug": "biweekly-contest-120", "contest_id": 967, "contest_start_time": 1703341800, "contest_duration": 5400, "user_num": 2542, "question_slugs": ["count-the-number-of-incremovable-subarrays-i", "find-polygon-with-the-largest-perimeter", "count-the-number-of-incremovable-subarrays-ii", "find-number-of-coins-to-place-in-tree-nodes"]}, {"contest_title": "\u7b2c 121 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 121", "contest_title_slug": "biweekly-contest-121", "contest_id": 973, "contest_start_time": 1704551400, "contest_duration": 5400, "user_num": 2218, "question_slugs": ["smallest-missing-integer-greater-than-sequential-prefix-sum", "minimum-number-of-operations-to-make-array-xor-equal-to-k", "minimum-number-of-operations-to-make-x-and-y-equal", "count-the-number-of-powerful-integers"]}, {"contest_title": "\u7b2c 122 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 122", "contest_title_slug": "biweekly-contest-122", "contest_id": 979, "contest_start_time": 1705761000, "contest_duration": 5400, "user_num": 2547, "question_slugs": ["divide-an-array-into-subarrays-with-minimum-cost-i", "find-if-array-can-be-sorted", "minimize-length-of-array-using-operations", "divide-an-array-into-subarrays-with-minimum-cost-ii"]}, {"contest_title": "\u7b2c 123 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 123", "contest_title_slug": "biweekly-contest-123", "contest_id": 985, "contest_start_time": 1706970600, "contest_duration": 5400, "user_num": 2209, "question_slugs": ["type-of-triangle", "find-the-number-of-ways-to-place-people-i", "maximum-good-subarray-sum", "find-the-number-of-ways-to-place-people-ii"]}, {"contest_title": "\u7b2c 124 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 124", "contest_title_slug": "biweekly-contest-124", "contest_id": 991, "contest_start_time": 1708180200, "contest_duration": 5400, "user_num": 1861, "question_slugs": ["maximum-number-of-operations-with-the-same-score-i", "apply-operations-to-make-string-empty", "maximum-number-of-operations-with-the-same-score-ii", "maximize-consecutive-elements-in-an-array-after-modification"]}, {"contest_title": "\u7b2c 125 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 125", "contest_title_slug": "biweekly-contest-125", "contest_id": 997, "contest_start_time": 1709389800, "contest_duration": 5400, "user_num": 2599, "question_slugs": ["minimum-operations-to-exceed-threshold-value-i", "minimum-operations-to-exceed-threshold-value-ii", "count-pairs-of-connectable-servers-in-a-weighted-tree-network", "find-the-maximum-sum-of-node-values"]}, {"contest_title": "\u7b2c 126 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 126", "contest_title_slug": "biweekly-contest-126", "contest_id": 1003, "contest_start_time": 1710599400, "contest_duration": 5400, "user_num": 3234, "question_slugs": ["find-the-sum-of-encrypted-integers", "mark-elements-on-array-by-performing-queries", "replace-question-marks-in-string-to-minimize-its-value", "find-the-sum-of-the-power-of-all-subsequences"]}, {"contest_title": "\u7b2c 127 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 127", "contest_title_slug": "biweekly-contest-127", "contest_id": 1010, "contest_start_time": 1711809000, "contest_duration": 5400, "user_num": 2951, "question_slugs": ["shortest-subarray-with-or-at-least-k-i", "minimum-levels-to-gain-more-points", "shortest-subarray-with-or-at-least-k-ii", "find-the-sum-of-subsequence-powers"]}, {"contest_title": "\u7b2c 128 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 128", "contest_title_slug": "biweekly-contest-128", "contest_id": 1017, "contest_start_time": 1713018600, "contest_duration": 5400, "user_num": 2654, "question_slugs": ["score-of-a-string", "minimum-rectangles-to-cover-points", "minimum-time-to-visit-disappearing-nodes", "find-the-number-of-subarrays-where-boundary-elements-are-maximum"]}, {"contest_title": "\u7b2c 129 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 129", "contest_title_slug": "biweekly-contest-129", "contest_id": 1023, "contest_start_time": 1714228200, "contest_duration": 5400, "user_num": 2511, "question_slugs": ["make-a-square-with-the-same-color", "right-triangles", "find-all-possible-stable-binary-arrays-i", "find-all-possible-stable-binary-arrays-ii"]}, {"contest_title": "\u7b2c 130 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 130", "contest_title_slug": "biweekly-contest-130", "contest_id": 1029, "contest_start_time": 1715437800, "contest_duration": 5400, "user_num": 2604, "question_slugs": ["check-if-grid-satisfies-conditions", "maximum-points-inside-the-square", "minimum-substring-partition-of-equal-character-frequency", "find-products-of-elements-of-big-array"]}, {"contest_title": "\u7b2c 131 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 131", "contest_title_slug": "biweekly-contest-131", "contest_id": 1035, "contest_start_time": 1716647400, "contest_duration": 5400, "user_num": 2537, "question_slugs": ["find-the-xor-of-numbers-which-appear-twice", "find-occurrences-of-an-element-in-an-array", "find-the-number-of-distinct-colors-among-the-balls", "block-placement-queries"]}, {"contest_title": "\u7b2c 132 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 132", "contest_title_slug": "biweekly-contest-132", "contest_id": 1042, "contest_start_time": 1717857000, "contest_duration": 5400, "user_num": 2457, "question_slugs": ["clear-digits", "find-the-first-player-to-win-k-games-in-a-row", "find-the-maximum-length-of-a-good-subsequence-i", "find-the-maximum-length-of-a-good-subsequence-ii"]}, {"contest_title": "\u7b2c 133 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 133", "contest_title_slug": "biweekly-contest-133", "contest_id": 1048, "contest_start_time": 1719066600, "contest_duration": 5400, "user_num": 2326, "question_slugs": ["find-minimum-operations-to-make-all-elements-divisible-by-three", "minimum-operations-to-make-binary-array-elements-equal-to-one-i", "minimum-operations-to-make-binary-array-elements-equal-to-one-ii", "count-the-number-of-inversions"]}, {"contest_title": "\u7b2c 134 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 134", "contest_title_slug": "biweekly-contest-134", "contest_id": 1055, "contest_start_time": 1720276200, "contest_duration": 5400, "user_num": 2411, "question_slugs": ["alternating-groups-i", "maximum-points-after-enemy-battles", "alternating-groups-ii", "number-of-subarrays-with-and-value-of-k"]}, {"contest_title": "\u7b2c 135 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 135", "contest_title_slug": "biweekly-contest-135", "contest_id": 1061, "contest_start_time": 1721485800, "contest_duration": 5400, "user_num": 2260, "question_slugs": ["find-the-winning-player-in-coin-game", "minimum-length-of-string-after-operations", "minimum-array-changes-to-make-differences-equal", "maximum-score-from-grid-operations"]}, {"contest_title": "\u7b2c 136 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 136", "contest_title_slug": "biweekly-contest-136", "contest_id": 1068, "contest_start_time": 1722695400, "contest_duration": 5400, "user_num": 2418, "question_slugs": ["find-the-number-of-winning-players", "minimum-number-of-flips-to-make-binary-grid-palindromic-i", "minimum-number-of-flips-to-make-binary-grid-palindromic-ii", "time-taken-to-mark-all-nodes"]}, {"contest_title": "\u7b2c 137 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 137", "contest_title_slug": "biweekly-contest-137", "contest_id": 1074, "contest_start_time": 1723905000, "contest_duration": 5400, "user_num": 2198, "question_slugs": ["find-the-power-of-k-size-subarrays-i", "find-the-power-of-k-size-subarrays-ii", "maximum-value-sum-by-placing-three-rooks-i", "maximum-value-sum-by-placing-three-rooks-ii"]}, {"contest_title": "\u7b2c 138 \u573a\u53cc\u5468\u8d5b", "contest_title_en": "Biweekly Contest 138", "contest_title_slug": "biweekly-contest-138", "contest_id": 1081, "contest_start_time": 1725114600, "contest_duration": 5400, "user_num": 2029, "question_slugs": ["find-the-key-of-the-numbers", "hash-divided-string", "find-the-count-of-good-integers", "minimum-amount-of-damage-dealt-to-bob"]}] \ No newline at end of file

    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%0Dd6LU;#W=~D2^))aI&fn9BHDDiE9II7@$ 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�wLl$tlq$Ap`TCg`tDNEyn1a63*MV1ZB! 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 literal 0 HcmV?d00001 diff --git a/solution/0600-0699/0666.Path Sum IV/README.md b/solution/0600-0699/0666.Path Sum IV/README.md index 8ab55a4749184..13fcbcd4ae80f 100644 --- a/solution/0600-0699/0666.Path Sum IV/README.md +++ b/solution/0600-0699/0666.Path Sum IV/README.md @@ -64,6 +64,7 @@ tags: