Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions ctl/models/tagproblem.go
Original file line number Diff line number Diff line change
Expand Up @@ -188,8 +188,7 @@ func (tls TagLists) table() string {
for _, p := range tls.TagLists {
res += p.tableLine()
}
// 加这一行是为了撑开整个表格
res += "|------------|-------------------------------------------------------|-------| ----------------| ---------------|-------------|-------------|-------------|"
// 网页主题表格为 width:100%,不需要占位行来撑开宽度,故不再追加 "---" 占位行。
return res
}

Expand Down
26 changes: 26 additions & 0 deletions ctl/pdf.go
Original file line number Diff line number Diff line change
Expand Up @@ -87,12 +87,38 @@ func generatePDF() {
if err != nil {
fmt.Println(err)
}
// 动态删除表格中多余的 "---" 占位行(仅影响 PDF 输出,不改动网页源文件)
pdf = removeTablePlaceholder(pdf)
// 生成 PDF
util.WriteFile(fmt.Sprintf("../PDF v%v.%v.%v.md", majorVersion, midVersion, lastVersion), pdf)
// 还原现场
util.DestoryDir("./pdftemp")
}

// removeTablePlaceholder 删除表格里多余的纯破折号占位行(如
// "|------------|------------|...|")。真正的 GFM 分隔行带对齐冒号且后面紧跟
// 数据行,这里通过「不含冒号」且「下一行不是表格行」来精确区分,避免误删。
var tablePlaceholderRe = regexp.MustCompile(`^\s*\|[-\s|]*-[-\s|]*\|\s*$`)

func removeTablePlaceholder(content []byte) []byte {
lines := strings.Split(string(content), "\n")
out := make([]string, 0, len(lines))
for i, line := range lines {
if tablePlaceholderRe.MatchString(line) && !strings.Contains(line, ":") {
next := ""
if i+1 < len(lines) {
next = strings.TrimSpace(lines[i+1])
}
// 分隔行后面会紧跟数据行(以 | 开头);占位行后面不是表格行 → 删除
if !strings.HasPrefix(next, "|") {
continue
}
}
out = append(out, line)
}
return []byte(strings.Join(out, "\n"))
}

func loadChapter(order []string, path, chapter string) ([]byte, error) {
var (
res, tmp []byte
Expand Down
18 changes: 16 additions & 2 deletions ctl/render.go
Original file line number Diff line number Diff line change
Expand Up @@ -174,12 +174,22 @@ func buildChapterTwo(internal bool) {
for index, tag := range chapterTwoSlug {
body := getTagProblemList(tag)
// fmt.Printf("%v\n", string(body))
// 返回值校验:接口为空 / 解析失败 / 未取到题目(多见于被限流)时跳过该 tag,
// 避免后续用空数据继续处理时偶发 panic。跳过的 tag 重新运行即可补齐。
if len(body) == 0 {
fmt.Printf("跳过 ChapterTwo[%v]:接口返回为空(可能被限流)\n", tag)
continue
}
err := json.Unmarshal(body, &gr)
if err != nil {
fmt.Println(err)
return
fmt.Printf("跳过 ChapterTwo[%v]:JSON 解析失败 %v\n", tag, err)
continue
}
questions = gr.Data.TopicTag.Questions
if len(questions) == 0 {
fmt.Printf("跳过 ChapterTwo[%v]:未取到题目数据(可能被限流)\n", tag)
continue
}
mdrows := m.ConvertMdModelFromQuestions(questions)
sort.Sort(m.SortByQuestionID(mdrows))
solutionIds, _, _ := util.LoadSolutionsDir()
Expand Down Expand Up @@ -223,6 +233,10 @@ func loadMetaData(filePath string) (map[int]m.TagList, error) {
return nil, err
}
s := strings.Split(string(line), "|")
// 字段不足的行(空行 / 格式异常)直接跳过,避免下面取 s[1]、s[4..6] 时越界 panic
if len(s) < 7 {
continue
}
v, _ := strconv.Atoi(strings.Split(s[1], ".")[0])
// v[0] 是题号,s[4] time, s[5] space, s[6] favorite
metaMap[v] = m.TagList{
Expand Down
24 changes: 15 additions & 9 deletions ctl/request.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,8 @@ func signin() *request.Request {
func getRaw(URL string) []byte {
req := newReq()
resp, err := req.Get(URL)
if err != nil {
fmt.Printf("getRaw: Get Error: %s\n", err.Error())
if err != nil || resp == nil {
fmt.Printf("getRaw: Get Error: %v\n", err)
return []byte{}
}
defer resp.Body.Close()
Expand All @@ -60,9 +60,12 @@ func getRaw(URL string) []byte {
fmt.Printf("getRaw: Read Error: %s\n", err.Error())
return []byte{}
}
if resp.StatusCode == 200 {
fmt.Println("Get problem Success!")
// 非 200(如被限流的 429)直接返回空,让调用方做返回值校验后跳过,避免拿错误页继续解析
if resp.StatusCode != 200 {
fmt.Printf("getRaw: non-200 status %d for %s\n", resp.StatusCode, URL)
return []byte{}
}
fmt.Println("Get problem Success!")
return body
}

Expand All @@ -78,20 +81,23 @@ type Variables struct {
func getQraphql(payload string) []byte {
req := newReq()
resp, err := req.PostForm(QraphqlURL, bytes.NewBuffer([]byte(payload)))
if err != nil {
fmt.Printf("getRaw: Get Error: %s\n", err.Error())
if err != nil || resp == nil {
fmt.Printf("getQraphql: Post Error: %v\n", err)
return []byte{}
}
defer resp.Body.Close()

body, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Printf("getRaw: Read Error: %s\n", err.Error())
fmt.Printf("getQraphql: Read Error: %s\n", err.Error())
return []byte{}
}
if resp.StatusCode == 200 {
fmt.Println("Get problem Success!")
// 非 200(如被限流的 429)直接返回空,让调用方做返回值校验后跳过
if resp.StatusCode != 200 {
fmt.Printf("getQraphql: non-200 status %d\n", resp.StatusCode)
return []byte{}
}
fmt.Println("Get problem Success!")
return body
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@ func winnerOfGame(colors string) bool {
Acont = 0
}
if Acont >= 3 {
As += Acont - 2
As++
}
if Bcont >= 3 {
Bs += Bcont - 2
Bs++
}
}
if As > Bs {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,14 +38,24 @@ func Test_Problem2038(t *testing.T) {
para2038{"ABBBBBBBAAA"},
ans2038{false},
},

{
// 回归用例:两段长度 3 的 B + 一段长度 4 的 A,旧实现会误判为 true
para2038{"AAAABBBABBB"},
ans2038{false},
},
}

fmt.Printf("------------------------Leetcode Problem 2038------------------------\n")

for _, q := range qs {
_, p := q.ans2038, q.para2038
a, p := q.ans2038, q.para2038
fmt.Printf("【input】:%v ", p.colors)
fmt.Printf("【output】:%v \n", winnerOfGame(p.colors))
got := winnerOfGame(p.colors)
fmt.Printf("【output】:%v \n", got)
if got != a.ans {
t.Fatalf("winnerOfGame(%q) = %v, want %v", p.colors, got, a.ans)
}
}
fmt.Printf("\n\n\n")
}
Original file line number Diff line number Diff line change
Expand Up @@ -91,10 +91,10 @@ func winnerOfGame(colors string) bool {
Acont = 0
}
if Acont >= 3 {
As += Acont - 2
As++
}
if Bcont >= 3 {
Bs += Bcont - 2
Bs++
}
}
if As > Bs {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,10 +91,10 @@ func winnerOfGame(colors string) bool {
Acont = 0
}
if Acont >= 3 {
As += Acont - 2
As++
}
if Bcont >= 3 {
Bs += Bcont - 2
Bs++
}
}
if As > Bs {
Expand Down
1 change: 0 additions & 1 deletion website/content.en/ChapterOne/Algorithm.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,3 @@ The following is algorithm-related knowledge compiled by the author. I hope to e
|Geometry||1. Convex Hull - Gift wrapping<br>2. Convex Hull - Graham scan<br>3. Line Segment Problems<br> 4. Problems Related to Polygons and Polyhedra<br>||
|NP-Complete|1. Computational Model<br>2. P-Class and NP-Class Problems<br>3. NP-Complete Problems<br>4. Approximation Algorithms for NP-Complete Problems<br>|1. Random Access Machine RAM<br>2. Random Access Stored Program Machine RASP<br>3. Turing Machine<br>4. Nondeterministic Turing Machine<br>5. P-Class and NP-Class Languages<br>6. Polynomial-Time Verification<br>7. Polynomial-Time Transformation<br>8. Cook's Theorem<br>9. Satisfiability Problem of Conjunctive Normal Form CNF-SAT<br>10. Satisfiability Problem of 3-Conjunctive Normal Form 3-SAT<br>11. Clique Problem CLIQUE<br>12. Vertex Cover Problem VERTEX-COVER<br>13. Subset Sum Problem SUBSET-SUM<br>14. Hamiltonian Circuit Problem HAM-CYCLE<br>15. Traveling Salesman Problem TSP<br>16. Approximation Algorithm for the Vertex Cover Problem<br>17. Approximation Algorithm for the Traveling Salesman Problem<br>18. Traveling Salesman Problem with the Triangle Inequality Property<br>19. General Traveling Salesman Problem<br>20. Approximation Algorithm for the Set Cover Problem<br>21. Approximation Algorithm for the Subset Sum Problem<br>22. Exponential-Time Algorithm for the Subset Sum Problem<br>23. Polynomial-Time Approximation Scheme for the Subset Sum Problem<br>||
|Bit Operations| Bit operations include:<br> 1. NOT<br> 2. Bitwise OR(OR) <br> 3. Bitwise XOR(XOR) <br> 4. Bitwise AND(AND) <br> 5. Shift: It is a binary operator used to move every bit in a binary number in one direction by a specified number of positions; the overflowing part will be discarded, and the vacant part will be filled with a certain value.<br> | 1.Bitwise AND of Numbers Range<br> 2.UTF-8 Validation<br> 3.Convert a Number to Hexadecimal<br> 4.Find Longest Awesome Substring<br> 5.XOR Operation in an Array<br> 6.Power Set<br> 7.Number of 1 Bits<br> 8.Prime Number of Set Bits in Binary Representation<br> 9.XOR Queries of a Subarray<br>| [LeetCode: Bit Manipulation](https://leetcode-cn.com/tag/bit-manipulation/)|
|------------|------------------------------------------------------------------|-----------------------------------------------------------------|--------------------|
1 change: 0 additions & 1 deletion website/content.en/ChapterOne/Data_Structure.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,3 @@ The following is data-structure-related knowledge compiled by the author. I hope
|Array-Implemented Heap<br>Heap|1. Max Heap and Min Heap Max Heap and Min Heap<br>2. Min-Max Heap<br>3. Deap Deap<br>4. d-ary Heap|||
|Tree-Implemented Heap<br>Heap|1. Leftist Tree Leftist Tree/Leftist Heap<br>2. Flat Heap<br>3. Binomial Heap<br>4. Fibonacci Heap Fibonacco Heap<br>5. Pairing Heap Pairing Heap|||
|Search<br>Search|1. Hash Table Hash<br>2. Skip List Skip List<br>3. Binary Sort Tree Binary Sort Tree<br>4. AVL Tree<br>5. B Tree / B+ Tree / B* Tree<br>6. AA Tree<br>7. Red Black Tree Red Black Tree<br>8. Binary Heap Binary Heap<br>9. Splay Tree<br>10. Double Chained Tree Double Chained Tree<br>11. Trie Tree<br>12. R Tree|||
|--------------------------------------------|--------------------------------------------------------------------------------------------|---------------------------|-----------------------------------|
1 change: 0 additions & 1 deletion website/content.en/ChapterOne/Time_Complexity.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ Data scale of problems that can be solved within 1s: 10^6 ~ 10^7
|8|10^9|O(sqrt(n))|Prime sieving, square root calculation|
|9|10^10|O(log n)|Binary search|
|10|+∞|O(1)|Math-related algorithms|
|------------------------------|------------------------------|------------------------------------------------------------------|------------------------------------------------------------------|


Some misleading examples:
Expand Down
1 change: 0 additions & 1 deletion website/content.en/ChapterTwo/Array.md
Original file line number Diff line number Diff line change
Expand Up @@ -424,4 +424,3 @@ weight: 1
|2170|Minimum Operations to Make the Array Alternating|[Go]({{< relref "/ChapterFour/2100~2199/2170.Minimum-Operations-to-Make-the-Array-Alternating.md" >}})|Medium||||33.2%|
|2171|Removing Minimum Number of Magic Beans|[Go]({{< relref "/ChapterFour/2100~2199/2171.Removing-Minimum-Number-of-Magic-Beans.md" >}})|Medium||||42.1%|
|2183|Count Array Pairs Divisible by K|[Go]({{< relref "/ChapterFour/2100~2199/2183.Count-Array-Pairs-Divisible-by-K.md" >}})|Hard||||28.3%|
|------------|-------------------------------------------------------|-------| ----------------| ---------------|-------------|-------------|-------------|
1 change: 0 additions & 1 deletion website/content.en/ChapterTwo/Backtracking.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,4 +139,3 @@ func updateMatrix_BFS(matrix [][]int) [][]int {
|1079|Letter Tile Possibilities|[Go]({{< relref "/ChapterFour/1000~1099/1079.Letter-Tile-Possibilities.md" >}})|Medium| O(n^2)| O(1)|❤️|76.0%|
|1239|Maximum Length of a Concatenated String with Unique Characters|[Go]({{< relref "/ChapterFour/1200~1299/1239.Maximum-Length-of-a-Concatenated-String-with-Unique-Characters.md" >}})|Medium||||52.2%|
|1655|Distribute Repeating Integers|[Go]({{< relref "/ChapterFour/1600~1699/1655.Distribute-Repeating-Integers.md" >}})|Hard||||39.3%|
|------------|-------------------------------------------------------|-------| ----------------| ---------------|-------------|-------------|-------------|
1 change: 0 additions & 1 deletion website/content.en/ChapterTwo/Binary_Indexed_Tree.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,3 @@ weight: 19
|0493|Reverse Pairs|[Go]({{< relref "/ChapterFour/0400~0499/0493.Reverse-Pairs.md" >}})|Hard||||30.9%|
|1157|Online Majority Element In Subarray|[Go]({{< relref "/ChapterFour/1100~1199/1157.Online-Majority-Element-In-Subarray.md" >}})|Hard||||41.8%|
|1649|Create Sorted Array through Instructions|[Go]({{< relref "/ChapterFour/1600~1699/1649.Create-Sorted-Array-through-Instructions.md" >}})|Hard||||37.5%|
|------------|-------------------------------------------------------|-------| ----------------| ---------------|-------------|-------------|-------------|
1 change: 0 additions & 1 deletion website/content.en/ChapterTwo/Binary_Search.md
Original file line number Diff line number Diff line change
Expand Up @@ -215,4 +215,3 @@ func peakIndexInMountainArray(A []int) int {
|1649|Create Sorted Array through Instructions|[Go]({{< relref "/ChapterFour/1600~1699/1649.Create-Sorted-Array-through-Instructions.md" >}})|Hard||||37.5%|
|1658|Minimum Operations to Reduce X to Zero|[Go]({{< relref "/ChapterFour/1600~1699/1658.Minimum-Operations-to-Reduce-X-to-Zero.md" >}})|Medium||||37.6%|
|1818|Minimum Absolute Sum Difference|[Go]({{< relref "/ChapterFour/1800~1899/1818.Minimum-Absolute-Sum-Difference.md" >}})|Medium||||30.4%|
|------------|-------------------------------------------------------|-------| ----------------| ---------------|-------------|-------------|-------------|
1 change: 0 additions & 1 deletion website/content.en/ChapterTwo/Bit_Manipulation.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,4 +103,3 @@ X & ~X = 0
|1734|Decode XORed Permutation|[Go]({{< relref "/ChapterFour/1700~1799/1734.Decode-XORed-Permutation.md" >}})|Medium||||63.0%|
|1738|Find Kth Largest XOR Coordinate Value|[Go]({{< relref "/ChapterFour/1700~1799/1738.Find-Kth-Largest-XOR-Coordinate-Value.md" >}})|Medium||||61.0%|
|1763|Longest Nice Substring|[Go]({{< relref "/ChapterFour/1700~1799/1763.Longest-Nice-Substring.md" >}})|Easy||||61.5%|
|------------|-------------------------------------------------------|-------| ----------------| ---------------|-------------|-------------|-------------|
1 change: 0 additions & 1 deletion website/content.en/ChapterTwo/Breadth_First_Search.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,4 +89,3 @@ weight: 10
|1609|Even Odd Tree|[Go]({{< relref "/ChapterFour/1600~1699/1609.Even-Odd-Tree.md" >}})|Medium||||54.4%|
|1631|Path With Minimum Effort|[Go]({{< relref "/ChapterFour/1600~1699/1631.Path-With-Minimum-Effort.md" >}})|Medium||||55.7%|
|1654|Minimum Jumps to Reach Home|[Go]({{< relref "/ChapterFour/1600~1699/1654.Minimum-Jumps-to-Reach-Home.md" >}})|Medium||||29.1%|
|------------|-------------------------------------------------------|-------| ----------------| ---------------|-------------|-------------|-------------|
1 change: 0 additions & 1 deletion website/content.en/ChapterTwo/Depth_First_Search.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,4 +116,3 @@ weight: 9
|1600|Throne Inheritance|[Go]({{< relref "/ChapterFour/1600~1699/1600.Throne-Inheritance.md" >}})|Medium||||63.6%|
|1631|Path With Minimum Effort|[Go]({{< relref "/ChapterFour/1600~1699/1631.Path-With-Minimum-Effort.md" >}})|Medium||||55.7%|
|2096|Step-By-Step Directions From a Binary Tree Node to Another|[Go]({{< relref "/ChapterFour/2000~2099/2096.Step-By-Step-Directions-From-a-Binary-Tree-Node-to-Another.md" >}})|Medium||||48.5%|
|------------|-------------------------------------------------------|-------| ----------------| ---------------|-------------|-------------|-------------|
1 change: 0 additions & 1 deletion website/content.en/ChapterTwo/Dynamic_Programming.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,4 +107,3 @@ weight: 7
|1691|Maximum Height by Stacking Cuboids|[Go]({{< relref "/ChapterFour/1600~1699/1691.Maximum-Height-by-Stacking-Cuboids.md" >}})|Hard||||54.6%|
|1696|Jump Game VI|[Go]({{< relref "/ChapterFour/1600~1699/1696.Jump-Game-VI.md" >}})|Medium||||46.1%|
|2167|Minimum Time to Remove All Cars Containing Illegal Goods|[Go]({{< relref "/ChapterFour/2100~2199/2167.Minimum-Time-to-Remove-All-Cars-Containing-Illegal-Goods.md" >}})|Hard||||40.8%|
|------------|-------------------------------------------------------|-------| ----------------| ---------------|-------------|-------------|-------------|
1 change: 0 additions & 1 deletion website/content.en/ChapterTwo/Hash_Table.md
Original file line number Diff line number Diff line change
Expand Up @@ -170,4 +170,3 @@ weight: 13
|2043|Simple Bank System|[Go]({{< relref "/ChapterFour/2000~2099/2043.Simple-Bank-System.md" >}})|Medium||||65.2%|
|2166|Design Bitset|[Go]({{< relref "/ChapterFour/2100~2199/2166.Design-Bitset.md" >}})|Medium||||31.8%|
|2170|Minimum Operations to Make the Array Alternating|[Go]({{< relref "/ChapterFour/2100~2199/2170.Minimum-Operations-to-Make-the-Array-Alternating.md" >}})|Medium||||33.2%|
|------------|-------------------------------------------------------|-------| ----------------| ---------------|-------------|-------------|-------------|
1 change: 0 additions & 1 deletion website/content.en/ChapterTwo/Linked_List.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,4 +67,3 @@ weight: 4
|1670|Design Front Middle Back Queue|[Go]({{< relref "/ChapterFour/1600~1699/1670.Design-Front-Middle-Back-Queue.md" >}})|Medium||||57.2%|
|1721|Swapping Nodes in a Linked List|[Go]({{< relref "/ChapterFour/1700~1799/1721.Swapping-Nodes-in-a-Linked-List.md" >}})|Medium||||67.1%|
|2181|Merge Nodes in Between Zeros|[Go]({{< relref "/ChapterFour/2100~2199/2181.Merge-Nodes-in-Between-Zeros.md" >}})|Medium||||86.3%|
|------------|-------------------------------------------------------|-------| ----------------| ---------------|-------------|-------------|-------------|
1 change: 0 additions & 1 deletion website/content.en/ChapterTwo/Math.md
Original file line number Diff line number Diff line change
Expand Up @@ -150,4 +150,3 @@ weight: 12
|2169|Count Operations to Obtain Zero|[Go]({{< relref "/ChapterFour/2100~2199/2169.Count-Operations-to-Obtain-Zero.md" >}})|Easy||||75.2%|
|2180|Count Integers With Even Digit Sum|[Go]({{< relref "/ChapterFour/2100~2199/2180.Count-Integers-With-Even-Digit-Sum.md" >}})|Easy||||65.5%|
|2183|Count Array Pairs Divisible by K|[Go]({{< relref "/ChapterFour/2100~2199/2183.Count-Array-Pairs-Divisible-by-K.md" >}})|Hard||||28.3%|
|------------|-------------------------------------------------------|-------| ----------------| ---------------|-------------|-------------|-------------|
1 change: 0 additions & 1 deletion website/content.en/ChapterTwo/Segment_Tree.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,4 +49,3 @@ Segment tree [problem types](https://blog.csdn.net/xuechelingxiao/article/detail
|0850|Rectangle Area II|[Go]({{< relref "/ChapterFour/0800~0899/0850.Rectangle-Area-II.md" >}})|Hard| O(n log n)| O(n)|❤️|53.9%|
|1157|Online Majority Element In Subarray|[Go]({{< relref "/ChapterFour/1100~1199/1157.Online-Majority-Element-In-Subarray.md" >}})|Hard| O(log n)| O(n)|❤️|41.8%|
|1649|Create Sorted Array through Instructions|[Go]({{< relref "/ChapterFour/1600~1699/1649.Create-Sorted-Array-through-Instructions.md" >}})|Hard||||37.5%|
|------------|-------------------------------------------------------|-------| ----------------| ---------------|-------------|-------------|-------------|
1 change: 0 additions & 1 deletion website/content.en/ChapterTwo/Sliding_Window.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,4 +64,3 @@ weight: 17
|1696|Jump Game VI|[Go]({{< relref "/ChapterFour/1600~1699/1696.Jump-Game-VI.md" >}})|Medium||||46.1%|
|1763|Longest Nice Substring|[Go]({{< relref "/ChapterFour/1700~1799/1763.Longest-Nice-Substring.md" >}})|Easy||||61.5%|
|1984|Minimum Difference Between Highest and Lowest of K Scores|[Go]({{< relref "/ChapterFour/1900~1999/1984.Minimum-Difference-Between-Highest-and-Lowest-of-K-Scores.md" >}})|Easy||||54.5%|
|------------|-------------------------------------------------------|-------| ----------------| ---------------|-------------|-------------|-------------|
1 change: 0 additions & 1 deletion website/content.en/ChapterTwo/Sorting.md
Original file line number Diff line number Diff line change
Expand Up @@ -126,4 +126,3 @@ weight: 14
|2164|Sort Even and Odd Indices Independently|[Go]({{< relref "/ChapterFour/2100~2199/2164.Sort-Even-and-Odd-Indices-Independently.md" >}})|Easy||||65.0%|
|2165|Smallest Value of the Rearranged Number|[Go]({{< relref "/ChapterFour/2100~2199/2165.Smallest-Value-of-the-Rearranged-Number.md" >}})|Medium||||51.4%|
|2171|Removing Minimum Number of Magic Beans|[Go]({{< relref "/ChapterFour/2100~2199/2171.Removing-Minimum-Number-of-Magic-Beans.md" >}})|Medium||||42.1%|
|------------|-------------------------------------------------------|-------| ----------------| ---------------|-------------|-------------|-------------|
1 change: 0 additions & 1 deletion website/content.en/ChapterTwo/Stack.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,4 +74,3 @@ weight: 5
|1653|Minimum Deletions to Make String Balanced|[Go]({{< relref "/ChapterFour/1600~1699/1653.Minimum-Deletions-to-Make-String-Balanced.md" >}})|Medium||||58.9%|
|1673|Find the Most Competitive Subsequence|[Go]({{< relref "/ChapterFour/1600~1699/1673.Find-the-Most-Competitive-Subsequence.md" >}})|Medium||||49.3%|
|1700|Number of Students Unable to Eat Lunch|[Go]({{< relref "/ChapterFour/1700~1799/1700.Number-of-Students-Unable-to-Eat-Lunch.md" >}})|Easy||||68.7%|
|------------|-------------------------------------------------------|-------| ----------------| ---------------|-------------|-------------|-------------|
Loading
Loading