From f402af0a868d7fe40f60e2928820d94cdb1b399d Mon Sep 17 00:00:00 2001 From: 0xff-dev Date: Mon, 4 Aug 2025 09:16:35 +0800 Subject: [PATCH 01/15] Add solution and test-cases for problem 3484 --- .../3484.Design-Spreadsheet/README.md | 42 ++++++---- .../3484.Design-Spreadsheet/Solution.go | 77 ++++++++++++++++++- .../3484.Design-Spreadsheet/Solution_test.go | 27 ++++--- 3 files changed, 118 insertions(+), 28 deletions(-) diff --git a/leetcode/3401-3500/3484.Design-Spreadsheet/README.md b/leetcode/3401-3500/3484.Design-Spreadsheet/README.md index 37eb8c215..c99fa4ca6 100755 --- a/leetcode/3401-3500/3484.Design-Spreadsheet/README.md +++ b/leetcode/3401-3500/3484.Design-Spreadsheet/README.md @@ -1,28 +1,38 @@ # [3484.Design Spreadsheet][title] -> [!WARNING|style:flat] -> This question is temporarily unanswered if you have good ideas. Welcome to [Create Pull Request PR](https://github.com/kylesliu/awesome-golang-algorithm) - ## Description +A spreadsheet is a grid with 26 columns (labeled from `'A'` to `'Z'`) and a given number of `rows`. Each cell in the spreadsheet can hold an integer value between 0 and 105. -**Example 1:** +Implement the `Spreadsheet` class: -``` -Input: a = "11", b = "1" -Output: "100" -``` +- `Spreadsheet(int rows)` Initializes a spreadsheet with 26 columns (labeled `'A'` to `'Z'`) and the specified number of rows. All cells are initially set to 0. +- `void setCell(String cell, int value)` Sets the value of the specified `cell`. The cell reference is provided in the format `"AX"` (e.g., `"A1"`, `"B10"`), where the letter represents the column (from `'A'` to `'Z'`) and the number represents a **1-indexed** row. +- `void resetCell(String cell)` Resets the specified cell to 0. +- `int getValue(String formula)` Evaluates a formula of the form `"=X+Y"`, where `X` and `Y` are **either** cell references or non-negative integers, and returns the computed sum. -## 题意 -> ... +**Note**: If `getValue` references a cell that has not been explicitly set using `setCell`, its value is considered 0. -## 题解 +**Example 1:** -### 思路1 -> ... -Design Spreadsheet -```go ``` - +Input: +["Spreadsheet", "getValue", "setCell", "getValue", "setCell", "getValue", "resetCell", "getValue"] +[[3], ["=5+7"], ["A1", 10], ["=A1+6"], ["B2", 15], ["=A1+B2"], ["A1"], ["=A1+B2"]] + +Output: +[null, 12, null, 16, null, 25, null, 15] + +Explanation + +Spreadsheet spreadsheet = new Spreadsheet(3); // Initializes a spreadsheet with 3 rows and 26 columns +spreadsheet.getValue("=5+7"); // returns 12 (5+7) +spreadsheet.setCell("A1", 10); // sets A1 to 10 +spreadsheet.getValue("=A1+6"); // returns 16 (10+6) +spreadsheet.setCell("B2", 15); // sets B2 to 15 +spreadsheet.getValue("=A1+B2"); // returns 25 (10+15) +spreadsheet.resetCell("A1"); // resets A1 to 0 +spreadsheet.getValue("=A1+B2"); // returns 15 (0+15) +``` ## 结语 diff --git a/leetcode/3401-3500/3484.Design-Spreadsheet/Solution.go b/leetcode/3401-3500/3484.Design-Spreadsheet/Solution.go index d115ccf5e..87a2d3820 100644 --- a/leetcode/3401-3500/3484.Design-Spreadsheet/Solution.go +++ b/leetcode/3401-3500/3484.Design-Spreadsheet/Solution.go @@ -1,5 +1,78 @@ package Solution -func Solution(x bool) bool { - return x +import ( + "strconv" + "strings" +) + +type Spreadsheet struct { + rows int + sheet [26][]int +} + +func Constructor(rows int) Spreadsheet { + sheet := [26][]int{} + for i := range 26 { + sheet[i] = make([]int, rows) + } + return Spreadsheet{ + rows: rows, + sheet: sheet, + } +} + +func (this *Spreadsheet) SetCell(cell string, value int) { + row := int(cell[0] - 'A') + v, _ := strconv.Atoi(cell[1:]) + this.sheet[row][v-1] = value +} + +func (this *Spreadsheet) ResetCell(cell string) { + row := int(cell[0] - 'A') + v, _ := strconv.Atoi(cell[1:]) + this.sheet[row][v-1] = 0 +} + +func (this *Spreadsheet) part(str string) int { + index := 0 + isNumber := true + if !(str[0] >= '0' && str[0] <= '9') { + isNumber = false + index++ + } + num, _ := strconv.Atoi(str[index:]) + if isNumber { + return num + } + return this.sheet[int(str[0]-'A')][num-1] +} +func (this *Spreadsheet) GetValue(formula string) int { + left := formula[1:] + parts := strings.Split(left, "+") + a, b := this.part(parts[0]), this.part(parts[1]) + return a + b +} + +type opt struct { + name string + arg1 string + arg2 int +} + +func Solution(rows int, opts []opt) []int { + c := Constructor(rows) + ans := make([]int, 0) + for _, o := range opts { + if o.name == "get" { + ans = append(ans, c.GetValue(o.arg1)) + continue + } + if o.name == "set" { + c.SetCell(o.arg1, o.arg2) + continue + } + c.ResetCell(o.arg1) + // reset + } + return ans } diff --git a/leetcode/3401-3500/3484.Design-Spreadsheet/Solution_test.go b/leetcode/3401-3500/3484.Design-Spreadsheet/Solution_test.go index 14ff50eb4..dd87b6b5d 100644 --- a/leetcode/3401-3500/3484.Design-Spreadsheet/Solution_test.go +++ b/leetcode/3401-3500/3484.Design-Spreadsheet/Solution_test.go @@ -10,30 +10,37 @@ func TestSolution(t *testing.T) { // 测试用例 cases := []struct { name string - inputs bool - expect bool + rows int + opts []opt + expect []int }{ - {"TestCase", true, true}, - {"TestCase", true, true}, - {"TestCase", false, false}, + {"TestCase1", 3, []opt{ + {"get", "=5+7", 0}, + {"set", "A1", 10}, + {"get", "=A1+6", 0}, + {"set", "B2", 15}, + {"get", "=A1+B2", 0}, + {"reset", "A1", 0}, + {"get", "=A1+B2", 0}, + }, []int{12, 16, 25, 15}}, } // 开始测试 for i, c := range cases { t.Run(c.name+" "+strconv.Itoa(i), func(t *testing.T) { - got := Solution(c.inputs) + got := Solution(c.rows, c.opts) if !reflect.DeepEqual(got, c.expect) { - t.Fatalf("expected: %v, but got: %v, with inputs: %v", - c.expect, got, c.inputs) + t.Fatalf("expected: %v, but got: %v, with inputs: %v %v", + c.expect, got, c.rows, c.opts) } }) } } -// 压力测试 +// 压力测试 func BenchmarkSolution(b *testing.B) { } -// 使用案列 +// 使用案列 func ExampleSolution() { } From 12a2fe995e8f4d49a2abc053736e27c6fa73dd0e Mon Sep 17 00:00:00 2001 From: 0xff-dev Date: Tue, 5 Aug 2025 08:48:42 +0800 Subject: [PATCH 02/15] Add solution and test-cases for problem 3477 --- .../3477.Fruits-Into-Baskets-II/README.md | 43 +++++++++++++------ .../3477.Fruits-Into-Baskets-II/Solution.go | 14 +++++- .../Solution_test.go | 21 +++++---- 3 files changed, 52 insertions(+), 26 deletions(-) diff --git a/leetcode/3401-3500/3477.Fruits-Into-Baskets-II/README.md b/leetcode/3401-3500/3477.Fruits-Into-Baskets-II/README.md index cc2a2b90d..3c6288a52 100755 --- a/leetcode/3401-3500/3477.Fruits-Into-Baskets-II/README.md +++ b/leetcode/3401-3500/3477.Fruits-Into-Baskets-II/README.md @@ -1,28 +1,45 @@ # [3477.Fruits Into Baskets II][title] -> [!WARNING|style:flat] -> This question is temporarily unanswered if you have good ideas. Welcome to [Create Pull Request PR](https://github.com/kylesliu/awesome-golang-algorithm) - ## Description +You are given two arrays of integers, `fruits` and `baskets`, each of length n, where `fruits[i]` represents the **quantity** of the `ith` type of fruit, and `baskets[j]` represents the **capacity** of the `jth` basket. + +From left to right, place the fruits according to these rules: + +- Each fruit type must be placed in the **leftmost available basket** with a capacity **greater than or equal** to the quantity of that fruit type. +- Each basket can hold **only one** type of fruit. +- If a fruit type **cannot be placed** in any basket, it remains **unplaced**. + +Return the number of fruit types that remain unplaced after all possible allocations are made. **Example 1:** ``` -Input: a = "11", b = "1" -Output: "100" -``` +Input: fruits = [4,2,5], baskets = [3,5,4] -## 题意 -> ... +Output: 1 -## 题解 +Explanation: -### 思路1 -> ... -Fruits Into Baskets II -```go +fruits[0] = 4 is placed in baskets[1] = 5. +fruits[1] = 2 is placed in baskets[0] = 3. +fruits[2] = 5 cannot be placed in baskets[2] = 4. +Since one fruit type remains unplaced, we return 1. ``` +**Example 2:** + +``` +Input: fruits = [3,6,1], baskets = [6,4,7] + +Output: 0 + +Explanation: + +fruits[0] = 3 is placed in baskets[0] = 6. +fruits[1] = 6 cannot be placed in baskets[1] = 4 (insufficient capacity) but can be placed in the next available basket, baskets[2] = 7. +fruits[2] = 1 is placed in baskets[1] = 4. +Since all fruits are successfully placed, we return 0. +``` ## 结语 diff --git a/leetcode/3401-3500/3477.Fruits-Into-Baskets-II/Solution.go b/leetcode/3401-3500/3477.Fruits-Into-Baskets-II/Solution.go index d115ccf5e..e9d63386a 100644 --- a/leetcode/3401-3500/3477.Fruits-Into-Baskets-II/Solution.go +++ b/leetcode/3401-3500/3477.Fruits-Into-Baskets-II/Solution.go @@ -1,5 +1,15 @@ package Solution -func Solution(x bool) bool { - return x +func Solution(fruits []int, baskets []int) int { + left := len(fruits) + for _, f := range fruits { + for i := range baskets { + if baskets[i] >= f { + left-- + baskets[i] = -1 + break + } + } + } + return left } diff --git a/leetcode/3401-3500/3477.Fruits-Into-Baskets-II/Solution_test.go b/leetcode/3401-3500/3477.Fruits-Into-Baskets-II/Solution_test.go index 14ff50eb4..693b11fe4 100644 --- a/leetcode/3401-3500/3477.Fruits-Into-Baskets-II/Solution_test.go +++ b/leetcode/3401-3500/3477.Fruits-Into-Baskets-II/Solution_test.go @@ -9,31 +9,30 @@ import ( func TestSolution(t *testing.T) { // 测试用例 cases := []struct { - name string - inputs bool - expect bool + name string + fruits, baskets []int + expect int }{ - {"TestCase", true, true}, - {"TestCase", true, true}, - {"TestCase", false, false}, + {"TestCase1", []int{4, 2, 5}, []int{3, 5, 4}, 1}, + {"TestCase2", []int{3, 6, 1}, []int{6, 4, 7}, 0}, } // 开始测试 for i, c := range cases { t.Run(c.name+" "+strconv.Itoa(i), func(t *testing.T) { - got := Solution(c.inputs) + got := Solution(c.fruits, c.baskets) if !reflect.DeepEqual(got, c.expect) { - t.Fatalf("expected: %v, but got: %v, with inputs: %v", - c.expect, got, c.inputs) + t.Fatalf("expected: %v, but got: %v, with inputs: %v %v", + c.expect, got, c.fruits, c.baskets) } }) } } -// 压力测试 +// 压力测试 func BenchmarkSolution(b *testing.B) { } -// 使用案列 +// 使用案列 func ExampleSolution() { } From 7792515187721cc42efc2288bf36213b15acf22c Mon Sep 17 00:00:00 2001 From: 0xff-dev Date: Wed, 6 Aug 2025 09:19:27 +0800 Subject: [PATCH 03/15] Add solution and test-cases for problem 3479 --- .../3479.Fruits-Into-Baskets-III/README.md | 43 +++++++--- .../3479.Fruits-Into-Baskets-III/Solution.go | 82 ++++++++++++++++++- .../Solution_test.go | 21 +++-- 3 files changed, 120 insertions(+), 26 deletions(-) diff --git a/leetcode/3401-3500/3479.Fruits-Into-Baskets-III/README.md b/leetcode/3401-3500/3479.Fruits-Into-Baskets-III/README.md index 74e955fec..349a62d7a 100755 --- a/leetcode/3401-3500/3479.Fruits-Into-Baskets-III/README.md +++ b/leetcode/3401-3500/3479.Fruits-Into-Baskets-III/README.md @@ -1,28 +1,45 @@ # [3479.Fruits Into Baskets III][title] -> [!WARNING|style:flat] -> This question is temporarily unanswered if you have good ideas. Welcome to [Create Pull Request PR](https://github.com/kylesliu/awesome-golang-algorithm) - ## Description +You are given two arrays of integers, `fruits` and `baskets`, each of length `n`, where `fruits[i]` represents the **quantity** of the `ith` type of fruit, and `baskets[j]` represents the **capacity** of the `jth` basket. + +From left to right, place the fruits according to these rules: + +- Each fruit type must be placed in the **leftmost available basket** with a capacity **greater than or equal** to the quantity of that fruit type. +- Each basket can hold **only one** type of fruit. +- If a fruit type **cannot be placed** in any basket, it remains **unplaced**. + +Return the number of fruit types that remain unplaced after all possible allocations are made. **Example 1:** ``` -Input: a = "11", b = "1" -Output: "100" -``` +Input: fruits = [4,2,5], baskets = [3,5,4] -## 题意 -> ... +Output: 1 -## 题解 +Explanation: -### 思路1 -> ... -Fruits Into Baskets III -```go +fruits[0] = 4 is placed in baskets[1] = 5. +fruits[1] = 2 is placed in baskets[0] = 3. +fruits[2] = 5 cannot be placed in baskets[2] = 4. +Since one fruit type remains unplaced, we return 1. ``` +**Example 2:** + +``` +Input: fruits = [3,6,1], baskets = [6,4,7] + +Output: 0 + +Explanation: + +fruits[0] = 3 is placed in baskets[0] = 6. +fruits[1] = 6 cannot be placed in baskets[1] = 4 (insufficient capacity) but can be placed in the next available basket, baskets[2] = 7. +fruits[2] = 1 is placed in baskets[1] = 4. +Since all fruits are successfully placed, we return 0. +``` ## 结语 diff --git a/leetcode/3401-3500/3479.Fruits-Into-Baskets-III/Solution.go b/leetcode/3401-3500/3479.Fruits-Into-Baskets-III/Solution.go index d115ccf5e..d216dd492 100644 --- a/leetcode/3401-3500/3479.Fruits-Into-Baskets-III/Solution.go +++ b/leetcode/3401-3500/3479.Fruits-Into-Baskets-III/Solution.go @@ -1,5 +1,83 @@ package Solution -func Solution(x bool) bool { - return x +import "math" + +const ( + INT_MIN = math.MinInt32 +) + +type SegTree struct { + segNode []int + baskets []int +} + +func (this *SegTree) build(p, l, r int) { + if l == r { + this.segNode[p] = this.baskets[l] + return + } + mid := (l + r) >> 1 + this.build(p<<1, l, mid) + this.build(p<<1|1, mid+1, r) + this.segNode[p] = max(this.segNode[p<<1], this.segNode[p<<1|1]) +} + +func (this *SegTree) query(p, l, r, ql, qr int) int { + if ql > r || qr < l { + return INT_MIN + } + if ql <= l && r <= qr { + return this.segNode[p] + } + mid := (l + r) >> 1 + return max(this.query(p<<1, l, mid, ql, qr), + this.query(p<<1|1, mid+1, r, ql, qr)) +} + +func (this *SegTree) update(p, l, r, pos, val int) { + if l == r { + this.segNode[p] = val + return + } + mid := (l + r) >> 1 + if pos <= mid { + this.update(p<<1, l, mid, pos, val) + } else { + this.update(p<<1|1, mid+1, r, pos, val) + } + this.segNode[p] = max(this.segNode[p<<1], this.segNode[p<<1|1]) +} + +func Solution(fruits []int, baskets []int) int { + m := len(baskets) + if m == 0 { + return len(fruits) + } + + tree := SegTree{ + segNode: make([]int, 4*m+7), + baskets: baskets, + } + tree.build(1, 0, m-1) + + count := 0 + for i := 0; i < len(fruits); i++ { + l, r, res := 0, m-1, -1 + for l <= r { + mid := (l + r) >> 1 + if tree.query(1, 0, m-1, 0, mid) >= fruits[i] { + res = mid + r = mid - 1 + } else { + l = mid + 1 + } + } + if res != -1 && tree.baskets[res] >= fruits[i] { + tree.update(1, 0, m-1, res, INT_MIN) + } else { + count++ + } + } + + return count } diff --git a/leetcode/3401-3500/3479.Fruits-Into-Baskets-III/Solution_test.go b/leetcode/3401-3500/3479.Fruits-Into-Baskets-III/Solution_test.go index 14ff50eb4..693b11fe4 100644 --- a/leetcode/3401-3500/3479.Fruits-Into-Baskets-III/Solution_test.go +++ b/leetcode/3401-3500/3479.Fruits-Into-Baskets-III/Solution_test.go @@ -9,31 +9,30 @@ import ( func TestSolution(t *testing.T) { // 测试用例 cases := []struct { - name string - inputs bool - expect bool + name string + fruits, baskets []int + expect int }{ - {"TestCase", true, true}, - {"TestCase", true, true}, - {"TestCase", false, false}, + {"TestCase1", []int{4, 2, 5}, []int{3, 5, 4}, 1}, + {"TestCase2", []int{3, 6, 1}, []int{6, 4, 7}, 0}, } // 开始测试 for i, c := range cases { t.Run(c.name+" "+strconv.Itoa(i), func(t *testing.T) { - got := Solution(c.inputs) + got := Solution(c.fruits, c.baskets) if !reflect.DeepEqual(got, c.expect) { - t.Fatalf("expected: %v, but got: %v, with inputs: %v", - c.expect, got, c.inputs) + t.Fatalf("expected: %v, but got: %v, with inputs: %v %v", + c.expect, got, c.fruits, c.baskets) } }) } } -// 压力测试 +// 压力测试 func BenchmarkSolution(b *testing.B) { } -// 使用案列 +// 使用案列 func ExampleSolution() { } From f9f3feb5a96831e4aeb48243ff1010fabe60d837 Mon Sep 17 00:00:00 2001 From: 0xff-dev Date: Fri, 8 Aug 2025 09:08:27 +0800 Subject: [PATCH 04/15] Add solution and test-cases for problem 3100 --- .../3001-3100/3100.Water-Bottles-II/1.png | Bin 0 -> 109721 bytes .../3001-3100/3100.Water-Bottles-II/2.png | Bin 0 -> 140626 bytes .../3001-3100/3100.Water-Bottles-II/README.md | 36 +++++++++++------- .../3100.Water-Bottles-II/Solution.go | 21 +++++++++- .../3100.Water-Bottles-II/Solution_test.go | 21 +++++----- 5 files changed, 51 insertions(+), 27 deletions(-) create mode 100644 leetcode/3001-3100/3100.Water-Bottles-II/1.png create mode 100644 leetcode/3001-3100/3100.Water-Bottles-II/2.png diff --git a/leetcode/3001-3100/3100.Water-Bottles-II/1.png b/leetcode/3001-3100/3100.Water-Bottles-II/1.png new file mode 100644 index 0000000000000000000000000000000000000000..98e58d583b5c17679fe04c8fe0e46bc227703717 GIT binary patch literal 109721 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Ž$p7ya2SquPv=ixN&2fu__B@Mq~F3!^q-E2I; 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¯GG&oec7IT^zFB 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�~uT(h0U*@|aRKypivd0>7{<$s_qaf}t1=0>|jLAE!I%TMS%TY4uh7{XZ- z7-dT(R_x^#J66Ra^Y|2H%Q&pyn|u`6O`Q_^!4(umTA6XVDn7MO)wX!9RnBhT_9-|R z9!cUqJ-_@=WUgvj7XP}R^_sd};zgV!NKMzRnX#%j;g!dtSA&W`M)fYq+rB6&0KYs# z)PDoKqrhyC!u3~9xP8lrw!WP}ieyhDN4pKszk9wj>beZ`LGC5K8lvofO;4!5&k?X2 zDRNl30hqOFO&_GkX?_k^u*4|_nOb|2GFZ(0ax3l=JA>0r4J?>-lUt3X@19$wIaPUW zoHV-uhmcfWs8OzNiL`0eT*4&x69t z6`zWL74P%ln@H^nTh|N=6{GuKaddLgV!E2nFWK5ZyGKG(K1>iGGM!~NjblR!nNU4e7rzebY zMUFz_B3xjaVVK+IgnUD(t>53Z@F_m#Ehgz{ee3EJWqzLvlk$gNpnbtW2e=V->gTOk ztw{8yEcCSX*kx)F@VSWzuV03pTlMGTjI5~L7YHozF6 zi0Gm4*;v1Z+UE+$+6qZZmifUn0RwY#9U|zZ)cN(hQaRet5SGjrs3&@9C(}|a$q_a{ z>n&hO?P}WbZF0Wm9La=&LC}WI=lrEPr+=s3AiIwrOT{XFZ;fOmYCv=KKB20<;nE~0 z&`$CA@FZyMxqNYT{?5zqmyqwDE#>382h}!810HCef~1N0Ws_dbERcq!53=Y`%>7o^ zOJR{EfE7=af`jS6QUqZ?Utz!&zxOKQ>mu(NQwInB@q{+=oS9qf#VGh?d7?}gd^3kIWiYoJ*FeB*MU+x# zKwW{lMi^&`5d%N$5RXrl&-Rb0bQ9jpww{uANUg?3m6K(+VL|`kPhT|N0hN1`Gc(S8&kJW~XWo}7X=7@Y2rT|q2n0fYL_{Q35m0Qc6s_KuC=rIX z3#vBE*7R@&>*p>}k6Pw*YQ0^jeTB*fo<@F@kmbwc#W{{B%EfdAhVv#vPsS<4%H_(z zJTNLa%L%7EJv{a;1ea#8d@{`^!e=)x5-eS44CboBl|>B}Ys^vo(mNTM$-?dPvxQm>W{gh+nrA2=k9+BbNV|K7%l|{6sd_t6S8qQBT9IU}30F>O++!g5i74z;%)#0aa+zf8GPeC># zEQ25zft8h=_9+&M6tgVXG1<&f|NB2xTLzt|Ikt4;a|CDy&iPyI?`h=dSu*p%PEoq|b;r~!JLRpRPrapZdDW*$2 z9T_bwcqq{7cA{67N^F119rCxNJ_3OWAYk|0Eou_N_4L4@NE0>gpjOKnwV4_$Ndv8& zO3#0a<#05fiOKSEcpCTJe*sY%;moA*2G*K4ORm!ddxT(&qa(^meEFmNu*$#ZZF_}A1t|x`7eDa z3x27zCZc2+L<8j?&B>3dnv(Gf3d%AkG5s&VkAq$nE{j=)98{D=O_qt5RI-G6IM_0K zg84oh`QwXq4&$ckl>#^`_jSlRkwML8Y&7+dl)AE3#h$+s5VL*d2@QlP!Iu$q7q({v z-9{$=`!`eZ&?SG-bcs%5RhP1MuA@Vw#(~fx4)ey~h;~l?og`;}{bA4qH|aSHm%2JL5ip|!@X8D9x?;i%M%&8yvH8F~n zkWLRG$0BbKK^z7VQN|6PlX>&)3>5|RI>pLXXU!4>JOT;faQ7{%s;B&&78Febb(&DJ zzNi!kWVwWkt)I7%^HR7Jw0@KMFQ6*br~9=Ep>MZeo(q=Z z3};61UB$OB7jf4j9|p2~tMYa)%$ZF>WJOnN9BP$M{6-Gq^ZtuSf(YDbjJ#wrh=y)| zvSsc>Rz}mQ=TusaUDYA%@q6_L34plqTCmP|W+4z=)yPFLMp6aR$G^7z5pPkYNeRxC zt{OyS8OHI@zuM#g&_jR0Cviw>HFWukn@1F#)Na14t~rqP+htf_aF6v|>hC zP;CceR*s*ez+c64YPiXeMAzr0wP?Qaz4A>%0Q3FSn|ZSiJuXW!-BEnrynCaU_cNL% zhrT1x#hwrEBz|VM&HfVif+py~Sx~1m z=g8;jlYOgOtxN{Q>{ibC8g42J3dqa~N=RU({p-Jb@7YvDiXK@j&|(Lim*G#KknA!$ z^%#@(nnykKVB(RMZJlm^=m&)p8t!mei=nnlfg%~|E>X=NalTYqtZ%We(MOy8#xJX5 zqLHscg!*Rc!C=T#iqJJmXv6)Q@3fD@r^%MS&%{ypFDp!D&2@csUsECNhy?@ldqB1X zN)?6;!byCs{r>F{GtRmqW+|rE!ouv#va~pmUQLo37Yb;vJ~FdkpDq`Xsvuj30fmz- z^JbDo-Rjf(|IOM(A?}y_+!~(D)En?l0$zsY?a%DD$}9@1%DmtUtZ1y2dbdiVAeO(P z`>-y(tUvjF6og9p?qCYVszTmdk;N~1-LqqN_q?H3z3sb`V&iWjGczl6w=YB>qPt+5 zXgDyAaD$P71QQY<-lN2A`;?!ivwK__#U`JqJ69C-eAW=^`gs7(r^n0hLA#6Xo^9=$=Ue) z#L5KX+Xq7v9sn4f(wQiautRUv+i@xX^7zm^Y27x}|re_b2TeRcrK^5L8vy&-QW9VaVm6olH zC%CW7(mBKZ9{9_#j*;cq30`r#fX-nLx}8{}%@_MZ2?mvhf!2uazI#3%mXsy(9@hb* z5`3DZn9pKid)4KCp)5?t_1_SPZ;3*04F1FDYb(w}r5TgNHY@4+VjMgS(Xt7#Fi`k- z2&)1yX=qcwh!T`GFf6(8n8hcfjj%=AxEaBT_Si<8o_B@%sQ;Ax{j*h0qsXcz>bjv@z zN~t5sCxYDS^Ymb|Yt~gN*sSPJujWNyK5J1%B?EI{LkWpQQl+E!ST*im`xmgL&K8ZVWp7c{}mS%HB}9mNW`W8Y^_5b1x{ z*cU2-(n4{bfa16F`LFzBg;1D1lfDh4Wk-u$Pz72m}IGuX7ZpEq)PEpn%bB-$;l2ifzZl0ae0pC~|MWUH5U7 z^U3Ybc z3YN=Yf?sE0y^hQ}9=*w=_L9oxTnKr-A3=o4iDBTBE2|qt1i{;Zf`yZn#-BP`$;=PG zn)s_-i-HMr zkum%67s5+x)PJ;7*)O!*45gkLoV(MS&86UkxsxIzJEkxBX&i%p$sfvh&Y|Hp z(i}vyf7hhdb6ez`y@L5rA*ne*Oyi^pwG(rAl2vrs&yDg0xm}pz%oAoBJ7acBtDG4Y zzT7V zM4H;)TAGLe5^d=s7O`fN#wEO01yH_dy#Q1hnDdBUy1=?asI-dOkGFBzVjxbEFi~6evd9p(=%@DPYxH+7oXr@R5B@^d}}QM}4Os z{)dsv&+{Z+&EvCMX3lqtk?c+tI=>0lag^go7Y)lqauKe__JpzSDvcflQ@b zMcX5fHsOaJ9}><_=wemVMb&-KATbsU5m>LCElU(c8yL`x^g%hTXtG6g+AgPIL2>$g zJG~;$14(Tb-Fp$7Y;R8!%kk_rxg<|!cLtIRCQY!LWH$w zxNpz?F{91@F{9KCOV#I&Z`-7)lAkz>MlD8?r7d=Mg(|pGi zD~RG3SvP{kR0haV5im|sztX%>U-7OO3;e*jzA-JE^t=IBnFLz~0cV1(!yL&`>n=0Nea=0$Re-T-7 zE&S_OD?CAQCW=gGiQ@!-Mh6&Nro{XksZ{!_(Q|tV!WW-F$x%XrQW7$3%<1J#qke*Dc%^#@^Odq*mP5SDCpWNv6P|ki;AxZUtn=mjxhta>0Oxw% zEa-|x{w{kVRk+`I__8FVIkEFAx_H&a%>H1V@nX%7&mJ%Q6!ZJ&$>RbEBQ#ldU2Xon zBAPZGV1!Y7{waGxEh#=*iD_^?HtXG~fBcr@Z(X}d1FS;!bny!R-HS`Rj{4Zy`|p0s zE>zUd5gOJLmU0ow-@gvezB;j z%hXEabDdRLxbUlQ7eTUy0y&a*(s-Z)aKA4m*b4mP z9<65i+$9+MnL6xX@p*|0L<2je_X@?Hv^IfmSb7k0$g?PWP4G-m;N8ZrU$*}kNHDjZ znOdLIj#^<~H6D@JFFbceHtHu3A}drHzAw7wBtvrff0R^EKYoej)kVB;z1B}*3MGlO zto)L^7ngw5ZdoJ>w$6kj$ST+2woy{QP=D0u4#tnW#?3if{fKK^jQhnJ)BEl@FDhL5 zn*S*xOPf_q2vzkp7A;lVkjDGuIUmM!vOr)s!pOcG86iGcsN`IYbbQAnd* zTdYfu8EwZWOpFai&uM)H3_?f%-ZB1N#Lck$zi<3SFwI$vuDe!m7X|*bLy>4#A}+qW zG~2faI5+^F!5o(Q>zEe||DQFAR#v|Mo8l)~qOb1GhH)XZm6{Vjy52D>5fGGmhH%qj zQqhCp|LzZdP+ut+Yamrile`z3?(2uuDGg^DT8Q3AM}E50h7RdL(L}WrD%Q9+V3*=2 zSfh%jJZJfOLP4b;ts43+Mi>iz82qgo4FVaNP!}0Zz_I#Sd0|#%55nZaq;|00{)~zx z6#}=%)n>CP6)KxEV>ak|A6!~c?JKDf_~)rRHvlhoU6)Y+@-1;jvTKwYcfBGSD6L)z zwvv~*_A26I2^#@s!p(oEQ9!Tg9KzQ6{u=^9><+r9}HKmBW=7^uR?ETqVM2=Wp0VKnS5l#bA9!jDdc1*V+8G zHh}?3)7Lda_2Lx<)PW=y7yPcuo>L9A?5GhOk^b{Vo|c`fp%-f5iF7JznwII$jt~XAS3Db-&oY^G9NbM%0A_8q!O@x(Df;Q_w`x9OW!Ig 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∾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 literal 0 HcmV?d00001 diff --git a/leetcode/3001-3100/3100.Water-Bottles-II/README.md b/leetcode/3001-3100/3100.Water-Bottles-II/README.md index 6030cf59f..b5059ccdd 100755 --- a/leetcode/3001-3100/3100.Water-Bottles-II/README.md +++ b/leetcode/3001-3100/3100.Water-Bottles-II/README.md @@ -1,28 +1,36 @@ # [3100.Water Bottles II][title] -> [!WARNING|style:flat] -> This question is temporarily unanswered if you have good ideas. Welcome to [Create Pull Request PR](https://github.com/kylesliu/awesome-golang-algorithm) - ## Description +You are given two integers `numBottles` and `numExchange`. + +`numBottles` represents the number of full water bottles that you initially have. In one operation, you can perform one of the following operations: + +- Drink any number of full water bottles turning them into empty bottles. +- Exchange `numExchange` empty bottles with one full water bottle. Then, increase `numExchange` by one. + +Note that you cannot exchange multiple batches of empty bottles for the same value of `numExchange`. For example, if `numBottles == 3` and `numExchange == 1`, you cannot exchange `3` empty water bottles for `3` full bottles. -**Example 1:** +Return the **maximum** number of water bottles you can drink. + +**Example 1:** + +![1](./1.png) ``` -Input: a = "11", b = "1" -Output: "100" +Input: numBottles = 13, numExchange = 6 +Output: 15 +Explanation: The table above shows the number of full water bottles, empty water bottles, the value of numExchange, and the number of bottles drunk. ``` -## 题意 -> ... +**Example 2:** -## 题解 +![2](./2.png) -### 思路1 -> ... -Water Bottles II -```go ``` - +Input: numBottles = 10, numExchange = 3 +Output: 13 +Explanation: The table above shows the number of full water bottles, empty water bottles, the value of numExchange, and the number of bottles drunk. +``` ## 结语 diff --git a/leetcode/3001-3100/3100.Water-Bottles-II/Solution.go b/leetcode/3001-3100/3100.Water-Bottles-II/Solution.go index d115ccf5e..031fcea00 100644 --- a/leetcode/3001-3100/3100.Water-Bottles-II/Solution.go +++ b/leetcode/3001-3100/3100.Water-Bottles-II/Solution.go @@ -1,5 +1,22 @@ package Solution -func Solution(x bool) bool { - return x +func Solution(numBottles int, numExchange int) int { + var ans int = numBottles + drink := 0 + empty := numBottles + for { + if empty >= numExchange { + drink++ + empty -= numExchange + numExchange++ + continue + } + empty += drink + ans += drink + drink = 0 + if empty < numExchange { + break + } + } + return ans + drink } diff --git a/leetcode/3001-3100/3100.Water-Bottles-II/Solution_test.go b/leetcode/3001-3100/3100.Water-Bottles-II/Solution_test.go index 14ff50eb4..e4bed4ecf 100644 --- a/leetcode/3001-3100/3100.Water-Bottles-II/Solution_test.go +++ b/leetcode/3001-3100/3100.Water-Bottles-II/Solution_test.go @@ -9,31 +9,30 @@ import ( func TestSolution(t *testing.T) { // 测试用例 cases := []struct { - name string - inputs bool - expect bool + name string + numBottles, numExchange int + expect int }{ - {"TestCase", true, true}, - {"TestCase", true, true}, - {"TestCase", false, false}, + {"TestCase1", 13, 6, 15}, + {"TestCase2", 10, 3, 13}, } // 开始测试 for i, c := range cases { t.Run(c.name+" "+strconv.Itoa(i), func(t *testing.T) { - got := Solution(c.inputs) + got := Solution(c.numBottles, c.numExchange) if !reflect.DeepEqual(got, c.expect) { - t.Fatalf("expected: %v, but got: %v, with inputs: %v", - c.expect, got, c.inputs) + t.Fatalf("expected: %v, but got: %v, with inputs: %v %v", + c.expect, got, c.numBottles, c.numExchange) } }) } } -// 压力测试 +// 压力测试 func BenchmarkSolution(b *testing.B) { } -// 使用案列 +// 使用案列 func ExampleSolution() { } From 42341b9f1fed28ad030efd477d6aca1991b111bd Mon Sep 17 00:00:00 2001 From: 0xff-dev Date: Sat, 9 Aug 2025 18:41:03 +0800 Subject: [PATCH 05/15] Add solution and test-cases for problem 1411 --- .../1.png | Bin 0 -> 24764 bytes .../README.md | 30 ++++++++++++ .../Solution.go | 43 +++++++++++++++++- .../Solution_test.go | 13 +++--- 4 files changed, 77 insertions(+), 9 deletions(-) create mode 100644 leetcode/1401-1500/1411.Number-of-Ways-to-Paint-N-x-3-Grid/1.png create mode 100644 leetcode/1401-1500/1411.Number-of-Ways-to-Paint-N-x-3-Grid/README.md diff --git a/leetcode/1401-1500/1411.Number-of-Ways-to-Paint-N-x-3-Grid/1.png b/leetcode/1401-1500/1411.Number-of-Ways-to-Paint-N-x-3-Grid/1.png new file mode 100644 index 0000000000000000000000000000000000000000..33b7e2a32dd666d43b4c3d997f12daf13582c9d3 GIT binary patch literal 24764 zcmeI5Yfuwc6vx*`t7r`Zb$syffyJ3ltyLo|vMYK;O8 zf{$s3R6_=|+NYMmS4BlZ;e#=TYPCL)svQU_AO#dKBt7TuhAcRBru|~ap3FFF)|cw$fpNL7ynH<+m$8lXldv=90{qJS3fEJ@o+PqtM z$ZoZ8m!d1@2D+)|#p2=dyf{2W)&$BL+@=-{{8Ep<48F38X6p+>09pMtAuM_*Vp#M_Jm$M%>M>TE`N|Q8t)^)PnKdn zCeJlgOAH$$-YI@7XQMU4I^;MMF>9bD?XA1<8#G~sN~?=l`$=Y51Jqqo?ol%pE|2}- z1{EoLls&VR>(jI0E~T{@OVn`rXixJ`Q=uY%St>LNTI~^V+wcCS?4{6r>)16=5^7|f z)i_=wF|5)m<(GVAJ+OO2p`x-74HPj{!(BX{H>z>|eTgCLXdd4$J$F95?6;>1u9IHi z4>xZK!p`=Bic%%HPy|}7i#S%A!1ws^t$dAqw+Fi$!qhi?%gk{3GsAbs=q(|daOlaL zcxW~Bb?}wm!B??&mOtQYEE+!kaH(~j)kk)>HWh|QBVoe^73FTULJ??n3_MQ@tUq7j zJJ9L_HNwq)8$9tM4H*p?y=C;4(ZmQV3r&o)mXY~E=7-C!C5w@n+%z%L#7Gk(O^h@# z(pH-22LUSrRssptN1b!hx7OtA&w_SNK#Ln~$9@sG>;Q0qqnd4lkl&eXuOp7UfCm6| z>IoZ=jYYw;6jjnXWzv zl;Me}{8H=xr+}k4DmKY`=R-5=4TrmJ$VKdE19bG{hmi|Kq`hugf_j3kbKk2k$s2}t z#_#f7xAg8Y&H(}9YO66inhlm9d(+iI$25k)kpydzt@jlT@}{IC$j%v67l5`Lh9?o2 z`R2uUGLs$Cm5QOrh)3*YbQdV~sqc8w%)m9`_PWI739C!6koJ%~_er^!RC5TkrvN?& zcnuIf>Q^TR7SJ>_s7-10Y4xqiuqJ6m*m=xnctKD2`5DIj=c1Q@ad?3hVeyz)`?3z4+;t)b92)jrZSO+t{EOwkXfU>(H^r$~d_MSW6zAOkWJv%JuD`E~ zW4O3mFQ>em^)kAFp6L{FW)VCU@1OjnN|7`|lcBJ;g>6r6YpN^sf}z8pb*b^RXk2)o z1jL*BvkZYV%-Llc!7zVg95@<`7h$)>vIBVE!U)V02*{J?qL%=#sP)@(?;4zoE#Twc zg=qaYZ}2ssV?pGXcrQq

QNL(PqlT2q?FUfR9(Gq6>HId4H%43PXIACs1+7_{clxg-xAsq!gNLV*_rN@EH<4lD4T) zQ%D6lCW=6Ngg8B=q&~`saz-7+h_*s5g`~4?(KvAF1f3N*7@BV=9QE>?cw2ql;4OkI z&k9IMiBA;`SdOsqozTIVof9ZS%d8>pEBdPo!Y$#XH8!X<~4 zhDtzQ)uPrV^kbq%8p(wHMw!)uzr(2*#MVoz^0-qU$a{VIf=#GS1h~$+ou({lM_drQ70jN@%p`A>`G#=-m>jh0&BD5}>0Ap4Kf|j>*bk zd9-9ak*UiInvwjjKhu>*-IMC6O~Xqck>io`~cj$hh2A|HNc_F3rC zuHnme0I^wmMScgSD{W980nwnL0W2WD|C7AkD8&Cfg!y+U?9HPdpZd6WllH_E_#X$j Ni1(%`4}?a4{uiShj-3Di literal 0 HcmV?d00001 diff --git a/leetcode/1401-1500/1411.Number-of-Ways-to-Paint-N-x-3-Grid/README.md b/leetcode/1401-1500/1411.Number-of-Ways-to-Paint-N-x-3-Grid/README.md new file mode 100644 index 000000000..2a0ca6a52 --- /dev/null +++ b/leetcode/1401-1500/1411.Number-of-Ways-to-Paint-N-x-3-Grid/README.md @@ -0,0 +1,30 @@ +# [1411.Number of Ways to Paint N × 3 Grid][title] + +## Description +You have a `grid` of size `n x 3` and you want to paint each cell of the grid with exactly one of the three colors: **Red**, **Yellow**, or **Green** while making sure that no two adjacent cells have the same color (i.e., no two cells that share vertical or horizontal sides have the same color). + +Given `n` the number of rows of the `grid`, return the number of ways you can paint this grid. As the answer may grow large, the answer **must be** computed modulo `10^9 + 7`. + +**Example 1:** + +![1](./1.png) + +``` +Input: n = 1 +Output: 12 +Explanation: There are 12 possible way to paint the grid as shown. +``` + +**Example 2:** + +``` +Input: n = 5000 +Output: 30228214 +``` + +## 结语 + +如果你同我一样热爱数据结构、算法、LeetCode,可以关注我 GitHub 上的 LeetCode 题解:[awesome-golang-algorithm][me] + +[title]: https://leetcode.com/problems/number-of-ways-to-paint-n-3-grid +[me]: https://github.com/kylesliu/awesome-golang-algorithm diff --git a/leetcode/1401-1500/1411.Number-of-Ways-to-Paint-N-x-3-Grid/Solution.go b/leetcode/1401-1500/1411.Number-of-Ways-to-Paint-N-x-3-Grid/Solution.go index d115ccf5e..e207db370 100755 --- a/leetcode/1401-1500/1411.Number-of-Ways-to-Paint-N-x-3-Grid/Solution.go +++ b/leetcode/1401-1500/1411.Number-of-Ways-to-Paint-N-x-3-Grid/Solution.go @@ -1,5 +1,44 @@ package Solution -func Solution(x bool) bool { - return x +const mod = 1000000007 + +func Solution(n int) int { + rel := [12][]int{ + {1, 4, 10, 2, 5}, + {0, 3, 6, 8, 11}, + {0, 3, 6, 7}, + + {1, 7, 10, 2}, + {0, 6, 9, 8}, + {0, 6, 9, 7, 10}, + + {1, 4, 2, 5, 11}, + {3, 2, 5, 11}, + {9, 1, 4, 10}, + + {4, 5, 8, 11}, + {0, 3, 5, 8, 11}, + {1, 7, 10, 6, 9}, + } + var dfs func(int, int) int + cache := make(map[[2]int]int) + dfs = func(parent, left int) int { + if left == 0 { + return 1 + } + ans := 0 + l := len(rel[parent]) + key := [2]int{l, left} + if v, ok := cache[key]; ok { + return v + } + for _, next := range rel[parent] { + ans = (ans + dfs(next, left-1)) % mod + } + cache[key] = ans + return ans + } + a := (dfs(0, n-1) * 6) % mod + b := (dfs(2, n-1) * 6) % mod + return (a + b) % mod } diff --git a/leetcode/1401-1500/1411.Number-of-Ways-to-Paint-N-x-3-Grid/Solution_test.go b/leetcode/1401-1500/1411.Number-of-Ways-to-Paint-N-x-3-Grid/Solution_test.go index 14ff50eb4..ae9982b9b 100755 --- a/leetcode/1401-1500/1411.Number-of-Ways-to-Paint-N-x-3-Grid/Solution_test.go +++ b/leetcode/1401-1500/1411.Number-of-Ways-to-Paint-N-x-3-Grid/Solution_test.go @@ -10,12 +10,11 @@ func TestSolution(t *testing.T) { // 测试用例 cases := []struct { name string - inputs bool - expect bool + inputs int + expect int }{ - {"TestCase", true, true}, - {"TestCase", true, true}, - {"TestCase", false, false}, + {"TestCase1", 1, 12}, + {"TestCase2", 5000, 30228214}, } // 开始测试 @@ -30,10 +29,10 @@ func TestSolution(t *testing.T) { } } -// 压力测试 +// 压力测试 func BenchmarkSolution(b *testing.B) { } -// 使用案列 +// 使用案列 func ExampleSolution() { } From 769470321c95250b55b38ac04ceb6651a3dc57e2 Mon Sep 17 00:00:00 2001 From: 0xff-dev Date: Sun, 10 Aug 2025 16:53:55 +0800 Subject: [PATCH 06/15] Add solution and test-cases for problem 2574 --- .../README.md | 36 +++++++++++++++++++ .../Solution.go | 19 ++++++++-- .../Solution_test.go | 13 ++++--- 3 files changed, 59 insertions(+), 9 deletions(-) create mode 100644 leetcode/2501-2600/2574.Left-and-Right-Sum-Differences/README.md diff --git a/leetcode/2501-2600/2574.Left-and-Right-Sum-Differences/README.md b/leetcode/2501-2600/2574.Left-and-Right-Sum-Differences/README.md new file mode 100644 index 000000000..31634255a --- /dev/null +++ b/leetcode/2501-2600/2574.Left-and-Right-Sum-Differences/README.md @@ -0,0 +1,36 @@ +# [2574.Left and Right Sum Differences][title] + +## Description +You are given a **0-indexed** integer array `nums` of size `n`. + +Define two arrays `leftSum` and `rightSum` where: + +- `leftSum[i]` is the sum of elements to the left of the index `i` in the array `nums`. If there is no such element, `leftSum[i] = 0`. +- `rightSum[i]` is the sum of elements to the right of the index `i` in the array `nums`. If there is no such element, `rightSum[i] = 0`. + +Return an integer array `answer` of size n where `answer[i] = |leftSum[i] - rightSum[i]|`. + +**Example 1:** + +``` +Input: nums = [10,4,8,3] +Output: [15,1,11,22] +Explanation: The array leftSum is [0,10,14,22] and the array rightSum is [15,11,3,0]. +The array answer is [|0 - 15|,|10 - 11|,|14 - 3|,|22 - 0|] = [15,1,11,22]. +``` + +**Example 2:** + +``` +Input: nums = [1] +Output: [0] +Explanation: The array leftSum is [0] and the array rightSum is [0]. +The array answer is [|0 - 0|] = [0]. +``` + +## 结语 + +如果你同我一样热爱数据结构、算法、LeetCode,可以关注我 GitHub 上的 LeetCode 题解:[awesome-golang-algorithm][me] + +[title]: https://leetcode.com/problems/left-and-right-sum-differences +[me]: https://github.com/kylesliu/awesome-golang-algorithm diff --git a/leetcode/2501-2600/2574.Left-and-Right-Sum-Differences/Solution.go b/leetcode/2501-2600/2574.Left-and-Right-Sum-Differences/Solution.go index d115ccf5e..430c816ce 100755 --- a/leetcode/2501-2600/2574.Left-and-Right-Sum-Differences/Solution.go +++ b/leetcode/2501-2600/2574.Left-and-Right-Sum-Differences/Solution.go @@ -1,5 +1,20 @@ package Solution -func Solution(x bool) bool { - return x +func Solution(nums []int) []int { + n := len(nums) + left, right := make([]int, n), make([]int, n) + left[0], right[n-1] = 0, 0 + for i := 0; i < n-1; i++ { + left[i+1] = nums[i] + left[i] + } + for i := n - 1; i > 0; i-- { + right[i-1] = right[i] + nums[i] + } + for i := 0; i < n; i++ { + left[i] -= right[i] + if left[i] < 0 { + left[i] = -left[i] + } + } + return left } diff --git a/leetcode/2501-2600/2574.Left-and-Right-Sum-Differences/Solution_test.go b/leetcode/2501-2600/2574.Left-and-Right-Sum-Differences/Solution_test.go index 14ff50eb4..5712c000f 100755 --- a/leetcode/2501-2600/2574.Left-and-Right-Sum-Differences/Solution_test.go +++ b/leetcode/2501-2600/2574.Left-and-Right-Sum-Differences/Solution_test.go @@ -10,12 +10,11 @@ func TestSolution(t *testing.T) { // 测试用例 cases := []struct { name string - inputs bool - expect bool + inputs []int + expect []int }{ - {"TestCase", true, true}, - {"TestCase", true, true}, - {"TestCase", false, false}, + {"TestCase1", []int{10, 4, 8, 3}, []int{15, 1, 11, 22}}, + {"TestCase2", []int{1}, []int{0}}, } // 开始测试 @@ -30,10 +29,10 @@ func TestSolution(t *testing.T) { } } -// 压力测试 +// 压力测试 func BenchmarkSolution(b *testing.B) { } -// 使用案列 +// 使用案列 func ExampleSolution() { } From 76cf91248c352012fd131543f0e2b53becd9cfaa Mon Sep 17 00:00:00 2001 From: 0xff-dev Date: Mon, 11 Aug 2025 09:30:38 +0800 Subject: [PATCH 07/15] Add solution and test-cases for problem 2438 --- .../README.md | 34 ++++++----- .../Solution.go | 61 ++++++++++++++++++- .../Solution_test.go | 22 +++---- 3 files changed, 90 insertions(+), 27 deletions(-) diff --git a/leetcode/2401-2500/2438.Range-Product-Queries-of-Powers/README.md b/leetcode/2401-2500/2438.Range-Product-Queries-of-Powers/README.md index b9971c545..25178c302 100755 --- a/leetcode/2401-2500/2438.Range-Product-Queries-of-Powers/README.md +++ b/leetcode/2401-2500/2438.Range-Product-Queries-of-Powers/README.md @@ -1,28 +1,34 @@ # [2438.Range Product Queries of Powers][title] -> [!WARNING|style:flat] -> This question is temporarily unanswered if you have good ideas. Welcome to [Create Pull Request PR](https://github.com/kylesliu/awesome-golang-algorithm) - ## Description +Given a positive integer `n`, there exists a **0-indexed** array called `powers`, composed of the **minimum** number of powers of `2` that sum to `n`. The array is sorted in **non-decreasing** order, and there is **only one** way to form the array. + +You are also given a **0-indexed** 2D integer array `queries`, where `queries[i] = [lefti, righti]`. Each `queries[i]` represents a query where you have to find the product of all `powers[j]` with `lefti <= j <= righti`. + +Return an array `answer`, equal in length to `queries`, where `answers[i]` is the answer to the `ith` query. Since the answer to the `ith` query may be too large, each `answers[i]` should be returned **modulo** `10^9 + 7`. **Example 1:** ``` -Input: a = "11", b = "1" -Output: "100" +Input: n = 15, queries = [[0,1],[2,2],[0,3]] +Output: [2,4,64] +Explanation: +For n = 15, powers = [1,2,4,8]. It can be shown that powers cannot be a smaller size. +Answer to 1st query: powers[0] * powers[1] = 1 * 2 = 2. +Answer to 2nd query: powers[2] = 4. +Answer to 3rd query: powers[0] * powers[1] * powers[2] * powers[3] = 1 * 2 * 4 * 8 = 64. +Each answer modulo 109 + 7 yields the same answer, so [2,4,64] is returned. ``` -## 题意 -> ... +**Example 2:** -## 题解 - -### 思路1 -> ... -Range Product Queries of Powers -```go ``` - +Input: n = 2, queries = [[0,0]] +Output: [2] +Explanation: +For n = 2, powers = [2]. +The answer to the only query is powers[0] = 2. The answer modulo 109 + 7 is the same, so [2] is returned. +``` ## 结语 diff --git a/leetcode/2401-2500/2438.Range-Product-Queries-of-Powers/Solution.go b/leetcode/2401-2500/2438.Range-Product-Queries-of-Powers/Solution.go index d115ccf5e..9ab5e61f1 100644 --- a/leetcode/2401-2500/2438.Range-Product-Queries-of-Powers/Solution.go +++ b/leetcode/2401-2500/2438.Range-Product-Queries-of-Powers/Solution.go @@ -1,5 +1,62 @@ package Solution -func Solution(x bool) bool { - return x +import "sort" + +func construct(n int, powers [33]int) []int { + if n&(n-1) == 0 { + return []int{n} + } + index := sort.Search(33, func(i int) bool { + return powers[i] > n + }) + set := []int{powers[index-1]} + left := construct(n-powers[index-1], powers) + set = append(set, left...) + return set +} + +func modPow(x int64, n int64, m int64) int64 { + result := int64(1) + x %= m + for n > 0 { + if n&1 == 1 { + result = (result * x) % m + } + x = (x * x) % m + n >>= 1 + } + return result +} + +func modInverse(x int64, m int64) int64 { + return modPow(x, m-2, m) +} + +const mod = 1000000007 + +func Solution(n int, queries [][]int) []int { + + powers := [33]int{} + powers[0] = 1 + for i := 1; i < 33; i++ { + powers[i] = powers[i-1] * 2 + } + arr := construct(n, powers) + for s, e := 0, len(arr)-1; s < e; s, e = s+1, e-1 { + arr[s], arr[e] = arr[e], arr[s] + } + ans := make([]int, len(queries)) + prefix := make([]int64, len(arr)+1) + index := 0 + prefix[index] = 1 + for i := 0; i < len(arr); i++ { + prefix[i+1] = (prefix[index] * int64(arr[i])) % mod + index++ + } + for i, q := range queries { + l, r := q[0], q[1] + res := (prefix[r+1] * modInverse(prefix[l], mod)) % mod + ans[i] = int(res) + } + return ans } diff --git a/leetcode/2401-2500/2438.Range-Product-Queries-of-Powers/Solution_test.go b/leetcode/2401-2500/2438.Range-Product-Queries-of-Powers/Solution_test.go index 14ff50eb4..3be974d2d 100644 --- a/leetcode/2401-2500/2438.Range-Product-Queries-of-Powers/Solution_test.go +++ b/leetcode/2401-2500/2438.Range-Product-Queries-of-Powers/Solution_test.go @@ -9,31 +9,31 @@ import ( func TestSolution(t *testing.T) { // 测试用例 cases := []struct { - name string - inputs bool - expect bool + name string + n int + queries [][]int + expect []int }{ - {"TestCase", true, true}, - {"TestCase", true, true}, - {"TestCase", false, false}, + {"TestCase1", 15, [][]int{{0, 1}, {2, 2}, {0, 3}}, []int{2, 4, 64}}, + {"TestCase2", 2, [][]int{{0, 0}}, []int{2}}, } // 开始测试 for i, c := range cases { t.Run(c.name+" "+strconv.Itoa(i), func(t *testing.T) { - got := Solution(c.inputs) + got := Solution(c.n, c.queries) if !reflect.DeepEqual(got, c.expect) { - t.Fatalf("expected: %v, but got: %v, with inputs: %v", - c.expect, got, c.inputs) + t.Fatalf("expected: %v, but got: %v, with inputs: %v %v", + c.expect, got, c.n, c.queries) } }) } } -// 压力测试 +// 压力测试 func BenchmarkSolution(b *testing.B) { } -// 使用案列 +// 使用案列 func ExampleSolution() { } From 6a53ebafdcf30c44d32aaff3985a6b5cc66c77bc Mon Sep 17 00:00:00 2001 From: 0xff-dev Date: Tue, 12 Aug 2025 09:08:54 +0800 Subject: [PATCH 08/15] Add solution and test-cases for problem 2787 --- .../README.md | 36 +++++++++++++++ .../Solution.go | 44 ++++++++++++++++++- .../Solution_test.go | 19 ++++---- 3 files changed, 87 insertions(+), 12 deletions(-) create mode 100644 leetcode/2701-2800/2787.Ways-to-Express-an-Integer-as-Sum-of-Powers/README.md diff --git a/leetcode/2701-2800/2787.Ways-to-Express-an-Integer-as-Sum-of-Powers/README.md b/leetcode/2701-2800/2787.Ways-to-Express-an-Integer-as-Sum-of-Powers/README.md new file mode 100644 index 000000000..750baca56 --- /dev/null +++ b/leetcode/2701-2800/2787.Ways-to-Express-an-Integer-as-Sum-of-Powers/README.md @@ -0,0 +1,36 @@ +# [2787.Ways to Express an Integer as Sum of Powers][title] + +## Description +Given two **positive** integers `n` and `n`. + +Return the number of ways `n` can be expressed as the sum of the `xth` power of **unique** positive integers, in other words, the number of sets of unique integers `[n1, n2, ..., nk]` where `n = n1x + n2x + ... + nkx`. + +Since the result can be very large, return it modulo `10^9 + 7`. + +For example, if `n = 160` and `x = 3`, one way to express `n` is `n = 2^3 + 3^3 + 5^3`. + +**Example 1:** + +``` +Input: n = 10, x = 2 +Output: 1 +Explanation: We can express n as the following: n = 32 + 12 = 10. +It can be shown that it is the only way to express 10 as the sum of the 2nd power of unique integers. +``` + +**EXample 2:** + +``` +Input: n = 4, x = 1 +Output: 2 +Explanation: We can express n in the following ways: +- n = 41 = 4. +- n = 31 + 11 = 4. +``` + +## 结语 + +如果你同我一样热爱数据结构、算法、LeetCode,可以关注我 GitHub 上的 LeetCode 题解:[awesome-golang-algorithm][me] + +[title]: https://leetcode.com/problems/ways-to-express-an-integer-as-sum-of-powers +[me]: https://github.com/kylesliu/awesome-golang-algorithm diff --git a/leetcode/2701-2800/2787.Ways-to-Express-an-Integer-as-Sum-of-Powers/Solution.go b/leetcode/2701-2800/2787.Ways-to-Express-an-Integer-as-Sum-of-Powers/Solution.go index d115ccf5e..ec1a08a22 100755 --- a/leetcode/2701-2800/2787.Ways-to-Express-an-Integer-as-Sum-of-Powers/Solution.go +++ b/leetcode/2701-2800/2787.Ways-to-Express-an-Integer-as-Sum-of-Powers/Solution.go @@ -1,5 +1,45 @@ package Solution -func Solution(x bool) bool { - return x +func power(base, n int) int { + result := 1 + for i := 0; i < n; i++ { + result *= base + } + return result +} + +const mod = 1000000007 + +func Solution(n int, x int) int { + candidates := []int{} + i := 1 + for ; ; i++ { + p := power(i, x) + if p > n { + break + } + candidates = append(candidates, p) + } + + var dfs func(index, target int) int + cache := make(map[[2]int]int) + + dfs = func(index, target int) int { + if target == 0 { + return 1 + } + if target < 0 || index == len(candidates) { + return 0 + } + key := [2]int{index, target} + if val, ok := cache[key]; ok { + return val + } + res := dfs(index+1, target-candidates[index]) % mod + res = (res + dfs(index+1, target)) % mod + cache[key] = res + return res + } + + return dfs(0, n) } diff --git a/leetcode/2701-2800/2787.Ways-to-Express-an-Integer-as-Sum-of-Powers/Solution_test.go b/leetcode/2701-2800/2787.Ways-to-Express-an-Integer-as-Sum-of-Powers/Solution_test.go index 14ff50eb4..19a93e4cc 100755 --- a/leetcode/2701-2800/2787.Ways-to-Express-an-Integer-as-Sum-of-Powers/Solution_test.go +++ b/leetcode/2701-2800/2787.Ways-to-Express-an-Integer-as-Sum-of-Powers/Solution_test.go @@ -10,30 +10,29 @@ func TestSolution(t *testing.T) { // 测试用例 cases := []struct { name string - inputs bool - expect bool + n, x int + expect int }{ - {"TestCase", true, true}, - {"TestCase", true, true}, - {"TestCase", false, false}, + {"TestCase1", 10, 2, 1}, + {"TestCase2", 4, 1, 2}, } // 开始测试 for i, c := range cases { t.Run(c.name+" "+strconv.Itoa(i), func(t *testing.T) { - got := Solution(c.inputs) + got := Solution(c.n, c.x) if !reflect.DeepEqual(got, c.expect) { - t.Fatalf("expected: %v, but got: %v, with inputs: %v", - c.expect, got, c.inputs) + t.Fatalf("expected: %v, but got: %v, with inputs: %v %v", + c.expect, got, c.n, c.x) } }) } } -// 压力测试 +// 压力测试 func BenchmarkSolution(b *testing.B) { } -// 使用案列 +// 使用案列 func ExampleSolution() { } From 98de3d94af89cc83b8f27e88fc7a099a053de4e6 Mon Sep 17 00:00:00 2001 From: 0xff-dev Date: Wed, 13 Aug 2025 09:22:16 +0800 Subject: [PATCH 09/15] Add solution and test-cases for problem 1452 --- .../README.md | 39 +++++++++++++++++++ .../Solution.go | 32 ++++++++++++++- .../Solution_test.go | 14 +++---- 3 files changed, 76 insertions(+), 9 deletions(-) create mode 100644 leetcode/1401-1500/1452.People-Whose-List-of-Favorite-Companies-Is-Not-a-Subset-of-Another-List/README.md diff --git a/leetcode/1401-1500/1452.People-Whose-List-of-Favorite-Companies-Is-Not-a-Subset-of-Another-List/README.md b/leetcode/1401-1500/1452.People-Whose-List-of-Favorite-Companies-Is-Not-a-Subset-of-Another-List/README.md new file mode 100644 index 000000000..e3af08b6f --- /dev/null +++ b/leetcode/1401-1500/1452.People-Whose-List-of-Favorite-Companies-Is-Not-a-Subset-of-Another-List/README.md @@ -0,0 +1,39 @@ +# [1452.People Whose List of Favorite Companies Is Not a Subset of Another List][title] + +## Description +Given the array `favoriteCompanies` where `favoriteCompanies[i]` is the list of favorites companies for the `ith` person (**indexed from 0**). + +Return the indices of people whose list of favorite companies is not a **subset** of any other list of favorites companies. You must return the indices in increasing order. + +**Example 1:** + +``` +Input: favoriteCompanies = [["leetcode","google","facebook"],["google","microsoft"],["google","facebook"],["google"],["amazon"]] +Output: [0,1,4] +Explanation: +Person with index=2 has favoriteCompanies[2]=["google","facebook"] which is a subset of favoriteCompanies[0]=["leetcode","google","facebook"] corresponding to the person with index 0. +Person with index=3 has favoriteCompanies[3]=["google"] which is a subset of favoriteCompanies[0]=["leetcode","google","facebook"] and favoriteCompanies[1]=["google","microsoft"]. +Other lists of favorite companies are not a subset of another list, therefore, the answer is [0,1,4]. +``` + +**Example 2:** + +``` +Input: favoriteCompanies = [["leetcode","google","facebook"],["leetcode","amazon"],["facebook","google"]] +Output: [0,1] +Explanation: In this case favoriteCompanies[2]=["facebook","google"] is a subset of favoriteCompanies[0]=["leetcode","google","facebook"], therefore, the answer is [0,1]. +``` + +**Example 3:** + +``` +Input: favoriteCompanies = [["leetcode"],["google"],["facebook"],["amazon"]] +Output: [0,1,2,3] +``` + +## 结语 + +如果你同我一样热爱数据结构、算法、LeetCode,可以关注我 GitHub 上的 LeetCode 题解:[awesome-golang-algorithm][me] + +[title]: https://leetcode.com/problems/people-whose-list-of-favorite-companies-is-not-a-subset-of-another-list/ +[me]: https://github.com/kylesliu/awesome-golang-algorithm diff --git a/leetcode/1401-1500/1452.People-Whose-List-of-Favorite-Companies-Is-Not-a-Subset-of-Another-List/Solution.go b/leetcode/1401-1500/1452.People-Whose-List-of-Favorite-Companies-Is-Not-a-Subset-of-Another-List/Solution.go index d115ccf5e..d395d0859 100755 --- a/leetcode/1401-1500/1452.People-Whose-List-of-Favorite-Companies-Is-Not-a-Subset-of-Another-List/Solution.go +++ b/leetcode/1401-1500/1452.People-Whose-List-of-Favorite-Companies-Is-Not-a-Subset-of-Another-List/Solution.go @@ -1,5 +1,33 @@ package Solution -func Solution(x bool) bool { - return x +func Solution(favoriteCompanies [][]string) []int { + l := len(favoriteCompanies) + subMaps := make([]map[string]struct{}, l) + for i := range favoriteCompanies { + subMaps[i] = map[string]struct{}{} + for _, com := range favoriteCompanies[i] { + subMaps[i][com] = struct{}{} + } + } + var ans []int + for i := 0; i < l; i++ { + ok := true + for next := 0; next < l && ok; next++ { + if next == i || len(subMaps[i]) > len(subMaps[next]) { + continue + } + in := true + for k := range subMaps[i] { + if _, ok1 := subMaps[next][k]; !ok1 { + in = false + break + } + } + ok = !in + } + if ok { + ans = append(ans, i) + } + } + return ans } diff --git a/leetcode/1401-1500/1452.People-Whose-List-of-Favorite-Companies-Is-Not-a-Subset-of-Another-List/Solution_test.go b/leetcode/1401-1500/1452.People-Whose-List-of-Favorite-Companies-Is-Not-a-Subset-of-Another-List/Solution_test.go index 14ff50eb4..a2f380dc8 100755 --- a/leetcode/1401-1500/1452.People-Whose-List-of-Favorite-Companies-Is-Not-a-Subset-of-Another-List/Solution_test.go +++ b/leetcode/1401-1500/1452.People-Whose-List-of-Favorite-Companies-Is-Not-a-Subset-of-Another-List/Solution_test.go @@ -10,12 +10,12 @@ func TestSolution(t *testing.T) { // 测试用例 cases := []struct { name string - inputs bool - expect bool + inputs [][]string + expect []int }{ - {"TestCase", true, true}, - {"TestCase", true, true}, - {"TestCase", false, false}, + {"TestCase1", [][]string{{"leetcode", "google", "facebook"}, {"google", "microsoft"}, {"google", "facebook"}, {"google"}, {"amazon"}}, []int{0, 1, 4}}, + {"TestCase2", [][]string{{"leetcode", "google", "facebook"}, {"leetcode", "amazon"}, {"facebook", "google"}}, []int{0, 1}}, + {"TestCase3", [][]string{{"leetcode"}, {"google"}, {"facebook"}, {"amazon"}}, []int{0, 1, 2, 3}}, } // 开始测试 @@ -30,10 +30,10 @@ func TestSolution(t *testing.T) { } } -// 压力测试 +// 压力测试 func BenchmarkSolution(b *testing.B) { } -// 使用案列 +// 使用案列 func ExampleSolution() { } From 94e154a68271dd3b953da19332181e78a361ebaf Mon Sep 17 00:00:00 2001 From: 0xff-dev Date: Sun, 17 Aug 2025 22:29:47 +0800 Subject: [PATCH 10/15] Add solution and test-cases for problem 3239 --- .../1.png | Bin 0 -> 5196 bytes .../2.png | Bin 0 -> 4659 bytes .../README.md | 52 +++++++++++++----- .../Solution.go | 23 +++++++- .../Solution_test.go | 14 ++--- 5 files changed, 67 insertions(+), 22 deletions(-) create mode 100644 leetcode/3201-3300/3239.Minimum-Number-of-Flips-to-Make-Binary-Grid-Palindromic-I/1.png create mode 100644 leetcode/3201-3300/3239.Minimum-Number-of-Flips-to-Make-Binary-Grid-Palindromic-I/2.png diff --git a/leetcode/3201-3300/3239.Minimum-Number-of-Flips-to-Make-Binary-Grid-Palindromic-I/1.png b/leetcode/3201-3300/3239.Minimum-Number-of-Flips-to-Make-Binary-Grid-Palindromic-I/1.png new file mode 100644 index 0000000000000000000000000000000000000000..da106a0c9b9303540edf65fe8c420e446da4fca2 GIT binary patch literal 5196 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 YhHiYiC2E!dno|(sit*(V9s9fg1RQ-e9smFU literal 0 HcmV?d00001 diff --git a/leetcode/3201-3300/3239.Minimum-Number-of-Flips-to-Make-Binary-Grid-Palindromic-I/2.png b/leetcode/3201-3300/3239.Minimum-Number-of-Flips-to-Make-Binary-Grid-Palindromic-I/2.png new file mode 100644 index 0000000000000000000000000000000000000000..f5a2760c6a4aa84c0843d370ac1409ec6f6b58fa GIT binary patch literal 4659 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 Ip7Z^G0PPdjAOHXW literal 0 HcmV?d00001 diff --git a/leetcode/3201-3300/3239.Minimum-Number-of-Flips-to-Make-Binary-Grid-Palindromic-I/README.md b/leetcode/3201-3300/3239.Minimum-Number-of-Flips-to-Make-Binary-Grid-Palindromic-I/README.md index 808a9dbd7..9f0040a7f 100755 --- a/leetcode/3201-3300/3239.Minimum-Number-of-Flips-to-Make-Binary-Grid-Palindromic-I/README.md +++ b/leetcode/3201-3300/3239.Minimum-Number-of-Flips-to-Make-Binary-Grid-Palindromic-I/README.md @@ -1,28 +1,54 @@ # [3239.Minimum Number of Flips to Make Binary Grid Palindromic I][title] -> [!WARNING|style:flat] -> This question is temporarily unanswered if you have good ideas. Welcome to [Create Pull Request PR](https://github.com/kylesliu/awesome-golang-algorithm) - ## Description +You are given an `m x n` binary matrix `grid`. + +A row or column is considered `palindromic` if its values read the same forward and backward. + +You can **flip** any number of cells in `grid` from `0` to `1`, or from `1` to `0`. + +Return the **minimum** number of cells that need to be flipped to make **either** all rows **palindromic** or all columns **palindromic**. + -**Example 1:** +**Example 1:** + +![1](./1.png) ``` -Input: a = "11", b = "1" -Output: "100" +Input: grid = [[1,0,0],[0,0,0],[0,0,1]] + +Output: 2 + +Explanation: + +Flipping the highlighted cells makes all the rows palindromic. ``` -## 题意 -> ... +**Example 2:** -## 题解 +![2](./2.png) -### 思路1 -> ... -Minimum Number of Flips to Make Binary Grid Palindromic I -```go ``` +Input: grid = [[0,1],[0,1],[0,0]] + +Output: 1 +Explanation: + +Flipping the highlighted cell makes all the columns palindromic. +``` + +**Example 3:** + +``` +Input: grid = [[1],[0]] + +Output: 0 + +Explanation: + +All rows are already palindromic. +``` ## 结语 diff --git a/leetcode/3201-3300/3239.Minimum-Number-of-Flips-to-Make-Binary-Grid-Palindromic-I/Solution.go b/leetcode/3201-3300/3239.Minimum-Number-of-Flips-to-Make-Binary-Grid-Palindromic-I/Solution.go index d115ccf5e..4dbafcb5b 100644 --- a/leetcode/3201-3300/3239.Minimum-Number-of-Flips-to-Make-Binary-Grid-Palindromic-I/Solution.go +++ b/leetcode/3201-3300/3239.Minimum-Number-of-Flips-to-Make-Binary-Grid-Palindromic-I/Solution.go @@ -1,5 +1,24 @@ package Solution -func Solution(x bool) bool { - return x +func Solution(grid [][]int) int { + rows, cols := len(grid), len(grid[0]) + ans := rows * cols + need := 0 + for i := 0; i < rows; i++ { + for s, e := 0, cols-1; s < e; s, e = s+1, e-1 { + if grid[i][s] != grid[i][e] { + need++ + } + } + } + ans = min(ans, need) + need = 0 + for i := 0; i < cols; i++ { + for s, e := 0, rows-1; s < e; s, e = s+1, e-1 { + if grid[s][i] != grid[e][i] { + need++ + } + } + } + return min(ans, need) } diff --git a/leetcode/3201-3300/3239.Minimum-Number-of-Flips-to-Make-Binary-Grid-Palindromic-I/Solution_test.go b/leetcode/3201-3300/3239.Minimum-Number-of-Flips-to-Make-Binary-Grid-Palindromic-I/Solution_test.go index 14ff50eb4..f8ae60afc 100644 --- a/leetcode/3201-3300/3239.Minimum-Number-of-Flips-to-Make-Binary-Grid-Palindromic-I/Solution_test.go +++ b/leetcode/3201-3300/3239.Minimum-Number-of-Flips-to-Make-Binary-Grid-Palindromic-I/Solution_test.go @@ -10,12 +10,12 @@ func TestSolution(t *testing.T) { // 测试用例 cases := []struct { name string - inputs bool - expect bool + inputs [][]int + expect int }{ - {"TestCase", true, true}, - {"TestCase", true, true}, - {"TestCase", false, false}, + {"TestCase1", [][]int{{1, 0, 0}, {0, 0, 0}, {0, 0, 1}}, 2}, + {"TestCase2", [][]int{{0, 1}, {0, 1}, {0, 0}}, 1}, + {"TestCase3", [][]int{{1}, {0}}, 0}, } // 开始测试 @@ -30,10 +30,10 @@ func TestSolution(t *testing.T) { } } -// 压力测试 +// 压力测试 func BenchmarkSolution(b *testing.B) { } -// 使用案列 +// 使用案列 func ExampleSolution() { } From a4726ed2b045f621431d70c02e766127765d639d Mon Sep 17 00:00:00 2001 From: 0xff-dev Date: Mon, 18 Aug 2025 08:58:29 +0800 Subject: [PATCH 11/15] Add solution and test-cases for problem 679 --- leetcode/601-700/0679.24-Game/README.md | 38 ++++++++----- leetcode/601-700/0679.24-Game/Solution.go | 56 ++++++++++++++++++- .../601-700/0679.24-Game/Solution_test.go | 11 ++-- 3 files changed, 83 insertions(+), 22 deletions(-) diff --git a/leetcode/601-700/0679.24-Game/README.md b/leetcode/601-700/0679.24-Game/README.md index 1d5ce235e..76d338f79 100644 --- a/leetcode/601-700/0679.24-Game/README.md +++ b/leetcode/601-700/0679.24-Game/README.md @@ -1,28 +1,38 @@ # [679.24 Game][title] -> [!WARNING|style:flat] -> This question is temporarily unanswered if you have good ideas. Welcome to [Create Pull Request PR](https://github.com/kylesliu/awesome-golang-algorithm) - ## Description +You are given an integer array `cards` of length `4`. You have four cards, each containing a number in the range `[1, 9]`. You should arrange the numbers on these cards in a mathematical expression using the operators `['+', '-', '*', '/']` and the parentheses `'('` and `')'` to get the value 24. + +You are restricted with the following rules: + +- The division operator `'/'` represents real division, not integer division. + + - For example, `4 / (1 - 2 / 3) = 4 / (1 / 3) = 12`. + +- Every operation done is between two numbers. In particular, we cannot use `'-'` as a unary operator. + + - For example, if `cards = [1, 1, 1, 1]`, the expression `"-1 - 1 - 1 - 1"` is **not allowed**. + +- You cannot concatenate numbers together + + - For example, if `cards = [1, 2, 1, 2]`, the expression `"12 + 12"` is not valid. + +Return `true` if you can get such expression that evaluates to `24`, and `false` otherwise. **Example 1:** ``` -Input: a = "11", b = "1" -Output: "100" +Input: cards = [4,1,8,7] +Output: true +Explanation: (8-4) * (7-1) = 24 ``` -## 题意 -> ... +**Example 2:** -## 题解 - -### 思路1 -> ... -24 Game -```go ``` - +Input: cards = [1,2,1,2] +Output: false +``` ## 结语 diff --git a/leetcode/601-700/0679.24-Game/Solution.go b/leetcode/601-700/0679.24-Game/Solution.go index d115ccf5e..0c0b1725c 100644 --- a/leetcode/601-700/0679.24-Game/Solution.go +++ b/leetcode/601-700/0679.24-Game/Solution.go @@ -1,5 +1,57 @@ package Solution -func Solution(x bool) bool { - return x +import "math" + +func Solution(cards []int) bool { + nums := make([]float64, len(cards)) + for i, v := range cards { + nums[i] = float64(v) + } + return dfs(nums) +} + +// 递归函数:判断当前数字数组是否可以通过操作得到24 +func dfs(nums []float64) bool { + if len(nums) == 1 { + // 终止条件:只有一个数字,判断是否接近24 + return math.Abs(nums[0]-24) < 1e-6 + } + // 遍历所有两两组合 + for i := 0; i < len(nums); i++ { + for j := i + 1; j < len(nums); j++ { + // 取出两个数 + a, b := nums[i], nums[j] + // 剩余的数字 + rest := make([]float64, 0, len(nums)-1) + for k := 0; k < len(nums); k++ { + if k != i && k != j { + rest = append(rest, nums[k]) + } + } + + // 所有可能的运算 + operations := [][]float64{ + {a + b}, + {a - b}, + {b - a}, + {a * b}, + } + // 除法要判断除数不为零 + if math.Abs(b) > 1e-6 { + operations = append(operations, []float64{a / b}) + } + if math.Abs(a) > 1e-6 { + operations = append(operations, []float64{b / a}) + } + + // 递归 + for _, op := range operations { + nextNums := append(rest, op[0]) + if dfs(nextNums) { + return true + } + } + } + } + return false } diff --git a/leetcode/601-700/0679.24-Game/Solution_test.go b/leetcode/601-700/0679.24-Game/Solution_test.go index 14ff50eb4..0f21ee9d9 100644 --- a/leetcode/601-700/0679.24-Game/Solution_test.go +++ b/leetcode/601-700/0679.24-Game/Solution_test.go @@ -10,12 +10,11 @@ func TestSolution(t *testing.T) { // 测试用例 cases := []struct { name string - inputs bool + inputs []int expect bool }{ - {"TestCase", true, true}, - {"TestCase", true, true}, - {"TestCase", false, false}, + {"TestCase1", []int{4, 1, 8, 7}, true}, + {"TestCase2", []int{1, 2, 1, 2}, false}, } // 开始测试 @@ -30,10 +29,10 @@ func TestSolution(t *testing.T) { } } -// 压力测试 +// 压力测试 func BenchmarkSolution(b *testing.B) { } -// 使用案列 +// 使用案列 func ExampleSolution() { } From b8219925d0b4284a995a3acda3f0c6b198f36b1a Mon Sep 17 00:00:00 2001 From: 0xff-dev Date: Tue, 19 Aug 2025 08:58:36 +0800 Subject: [PATCH 12/15] Add solution and test-cases for problem 2110 --- .../README.md | 36 ++++++++++++------- .../Solution.go | 15 ++++++-- .../Solution_test.go | 14 ++++---- 3 files changed, 43 insertions(+), 22 deletions(-) diff --git a/leetcode/2101-2200/2110.Number-of-Smooth-Descent-Periods-of-a-Stock/README.md b/leetcode/2101-2200/2110.Number-of-Smooth-Descent-Periods-of-a-Stock/README.md index 21aeaafaa..8bd1fc9c4 100755 --- a/leetcode/2101-2200/2110.Number-of-Smooth-Descent-Periods-of-a-Stock/README.md +++ b/leetcode/2101-2200/2110.Number-of-Smooth-Descent-Periods-of-a-Stock/README.md @@ -1,28 +1,38 @@ # [2110.Number of Smooth Descent Periods of a Stock][title] -> [!WARNING|style:flat] -> This question is temporarily unanswered if you have good ideas. Welcome to [Create Pull Request PR](https://github.com/kylesliu/awesome-golang-algorithm) - ## Description +You are given an integer array `prices` representing the daily price history of a stock, where `prices[i]` is the stock price on the `ith` day. + +A **smooth descent period** of a stock consists of **one or more contiguous** days such that the price on each day is **lower** than the price on the **preceding day** by **exactly** `1`. The first day of the period is exempted from this rule. + +Return the number of **smooth descent periods**. **Example 1:** ``` -Input: a = "11", b = "1" -Output: "100" +Input: prices = [3,2,1,4] +Output: 7 +Explanation: There are 7 smooth descent periods: +[3], [2], [1], [4], [3,2], [2,1], and [3,2,1] +Note that a period with one day is a smooth descent period by the definition. ``` -## 题意 -> ... - -## 题解 +**Example 2:** -### 思路1 -> ... -Number of Smooth Descent Periods of a Stock -```go ``` +Input: prices = [8,6,7,7] +Output: 4 +Explanation: There are 4 smooth descent periods: [8], [6], [7], and [7] +Note that [8,6] is not a smooth descent period as 8 - 6 ≠ 1. +``` + +**Example 3:** +``` +Input: prices = [1] +Output: 1 +Explanation: There is 1 smooth descent period: [1] +``` ## 结语 diff --git a/leetcode/2101-2200/2110.Number-of-Smooth-Descent-Periods-of-a-Stock/Solution.go b/leetcode/2101-2200/2110.Number-of-Smooth-Descent-Periods-of-a-Stock/Solution.go index d115ccf5e..b008e1712 100644 --- a/leetcode/2101-2200/2110.Number-of-Smooth-Descent-Periods-of-a-Stock/Solution.go +++ b/leetcode/2101-2200/2110.Number-of-Smooth-Descent-Periods-of-a-Stock/Solution.go @@ -1,5 +1,16 @@ package Solution -func Solution(x bool) bool { - return x +func Solution(prices []int) int64 { + l := len(prices) + c := int64(1) + ans := c + for i := 1; i < l; i++ { + if prices[i] == prices[i-1]-1 { + c++ + } else { + c = 1 + } + ans += c + } + return ans } diff --git a/leetcode/2101-2200/2110.Number-of-Smooth-Descent-Periods-of-a-Stock/Solution_test.go b/leetcode/2101-2200/2110.Number-of-Smooth-Descent-Periods-of-a-Stock/Solution_test.go index 14ff50eb4..a567b230b 100644 --- a/leetcode/2101-2200/2110.Number-of-Smooth-Descent-Periods-of-a-Stock/Solution_test.go +++ b/leetcode/2101-2200/2110.Number-of-Smooth-Descent-Periods-of-a-Stock/Solution_test.go @@ -10,12 +10,12 @@ func TestSolution(t *testing.T) { // 测试用例 cases := []struct { name string - inputs bool - expect bool + inputs []int + expect int64 }{ - {"TestCase", true, true}, - {"TestCase", true, true}, - {"TestCase", false, false}, + {"TestCase1", []int{3, 2, 1, 4}, 7}, + {"TestCase2", []int{8, 6, 7, 7}, 4}, + {"TestCase3", []int{1}, 1}, } // 开始测试 @@ -30,10 +30,10 @@ func TestSolution(t *testing.T) { } } -// 压力测试 +// 压力测试 func BenchmarkSolution(b *testing.B) { } -// 使用案列 +// 使用案列 func ExampleSolution() { } From b3873f7fae760729d8e8a01b7e3de82a45b2c9e1 Mon Sep 17 00:00:00 2001 From: 0xff-dev Date: Wed, 20 Aug 2025 08:47:41 +0800 Subject: [PATCH 13/15] Add solution and test-cases for problem 2414 --- .../README.md | 28 +++++++++---------- .../Solution.go | 14 ++++++++-- .../Solution_test.go | 13 ++++----- 3 files changed, 32 insertions(+), 23 deletions(-) diff --git a/leetcode/2401-2500/2414.Length-of-the-Longest-Alphabetical-Continuous-Substring/README.md b/leetcode/2401-2500/2414.Length-of-the-Longest-Alphabetical-Continuous-Substring/README.md index 0ae8f0b7f..2318eea31 100755 --- a/leetcode/2401-2500/2414.Length-of-the-Longest-Alphabetical-Continuous-Substring/README.md +++ b/leetcode/2401-2500/2414.Length-of-the-Longest-Alphabetical-Continuous-Substring/README.md @@ -1,28 +1,28 @@ # [2414.Length of the Longest Alphabetical Continuous Substring][title] -> [!WARNING|style:flat] -> This question is temporarily unanswered if you have good ideas. Welcome to [Create Pull Request PR](https://github.com/kylesliu/awesome-golang-algorithm) - ## Description +An **alphabetical continuous string** is a string consisting of consecutive letters in the alphabet. In other words, it is any substring of the string `"abcdefghijklmnopqrstuvwxyz"`. + +- For example, `"abc"` is an alphabetical continuous string, while `"acb"` and `"za"` are not. + +Given a string `s` consisting of lowercase letters only, return the length of the **longest** alphabetical continuous substring. **Example 1:** ``` -Input: a = "11", b = "1" -Output: "100" +Input: s = "abacaba" +Output: 2 +Explanation: There are 4 distinct continuous substrings: "a", "b", "c" and "ab". +"ab" is the longest continuous substring. ``` -## 题意 -> ... +**Example 2:** -## 题解 - -### 思路1 -> ... -Length of the Longest Alphabetical Continuous Substring -```go ``` - +Input: s = "abcde" +Output: 5 +Explanation: "abcde" is the longest continuous substring. +``` ## 结语 diff --git a/leetcode/2401-2500/2414.Length-of-the-Longest-Alphabetical-Continuous-Substring/Solution.go b/leetcode/2401-2500/2414.Length-of-the-Longest-Alphabetical-Continuous-Substring/Solution.go index d115ccf5e..b9944f825 100644 --- a/leetcode/2401-2500/2414.Length-of-the-Longest-Alphabetical-Continuous-Substring/Solution.go +++ b/leetcode/2401-2500/2414.Length-of-the-Longest-Alphabetical-Continuous-Substring/Solution.go @@ -1,5 +1,15 @@ package Solution -func Solution(x bool) bool { - return x +func Solution(s string) int { + ans := 1 + cur := 1 + for i := 1; i < len(s); i++ { + if s[i] == s[i-1]+1 { + cur++ + } else { + cur = 1 + } + ans = max(ans, cur) + } + return ans } diff --git a/leetcode/2401-2500/2414.Length-of-the-Longest-Alphabetical-Continuous-Substring/Solution_test.go b/leetcode/2401-2500/2414.Length-of-the-Longest-Alphabetical-Continuous-Substring/Solution_test.go index 14ff50eb4..dcb5fe271 100644 --- a/leetcode/2401-2500/2414.Length-of-the-Longest-Alphabetical-Continuous-Substring/Solution_test.go +++ b/leetcode/2401-2500/2414.Length-of-the-Longest-Alphabetical-Continuous-Substring/Solution_test.go @@ -10,12 +10,11 @@ func TestSolution(t *testing.T) { // 测试用例 cases := []struct { name string - inputs bool - expect bool + inputs string + expect int }{ - {"TestCase", true, true}, - {"TestCase", true, true}, - {"TestCase", false, false}, + {"TestCase1", "abacaba", 2}, + {"TestCase2", "abcde", 5}, } // 开始测试 @@ -30,10 +29,10 @@ func TestSolution(t *testing.T) { } } -// 压力测试 +// 压力测试 func BenchmarkSolution(b *testing.B) { } -// 使用案列 +// 使用案列 func ExampleSolution() { } From 36f271874ad41d137da5160e1dff974caa7519f1 Mon Sep 17 00:00:00 2001 From: 0xff-dev Date: Thu, 21 Aug 2025 09:00:18 +0800 Subject: [PATCH 14/15] Add solution and test-cases for problem 1504 --- .../1.jpg | Bin 0 -> 6604 bytes .../2.jpg | Bin 0 -> 8339 bytes .../README.md | 41 ++++++++++++------ .../Solution.go | 27 +++++++++++- .../Solution_test.go | 13 +++--- 5 files changed, 58 insertions(+), 23 deletions(-) create mode 100644 leetcode/1501-1600/1504.Count-Submatrices-With-All-Ones/1.jpg create mode 100644 leetcode/1501-1600/1504.Count-Submatrices-With-All-Ones/2.jpg diff --git a/leetcode/1501-1600/1504.Count-Submatrices-With-All-Ones/1.jpg b/leetcode/1501-1600/1504.Count-Submatrices-With-All-Ones/1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7e467df1d5c54e4098513096f8b2fcb05e023070 GIT binary patch literal 6604 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 literal 0 HcmV?d00001 diff --git a/leetcode/1501-1600/1504.Count-Submatrices-With-All-Ones/2.jpg b/leetcode/1501-1600/1504.Count-Submatrices-With-All-Ones/2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ac24a3a6ddcfe770a2c317fc51592bbd2c929420 GIT binary patch literal 8339 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 literal 0 HcmV?d00001 diff --git a/leetcode/1501-1600/1504.Count-Submatrices-With-All-Ones/README.md b/leetcode/1501-1600/1504.Count-Submatrices-With-All-Ones/README.md index 854741e64..fee2f70a1 100755 --- a/leetcode/1501-1600/1504.Count-Submatrices-With-All-Ones/README.md +++ b/leetcode/1501-1600/1504.Count-Submatrices-With-All-Ones/README.md @@ -1,28 +1,41 @@ # [1504.Count Submatrices With All Ones][title] -> [!WARNING|style:flat] -> This question is temporarily unanswered if you have good ideas. Welcome to [Create Pull Request PR](https://github.com/kylesliu/awesome-golang-algorithm) - ## Description +Given an `m x n` binary matrix `mat`, return the number of **submatrices** that have all ones. + +**Example 1:** -**Example 1:** +![1](./1.jpg) ``` -Input: a = "11", b = "1" -Output: "100" +Input: mat = [[1,0,1],[1,1,0],[1,1,0]] +Output: 13 +Explanation: +There are 6 rectangles of side 1x1. +There are 2 rectangles of side 1x2. +There are 3 rectangles of side 2x1. +There is 1 rectangle of side 2x2. +There is 1 rectangle of side 3x1. +Total number of rectangles = 6 + 2 + 3 + 1 + 1 = 13. ``` -## 题意 -> ... +**Example 2:** -## 题解 +![2](./2.jpg) -### 思路1 -> ... -Count Submatrices With All Ones -```go ``` - +Input: mat = [[0,1,1,0],[0,1,1,1],[1,1,1,0]] +Output: 24 +Explanation: +There are 8 rectangles of side 1x1. +There are 5 rectangles of side 1x2. +There are 2 rectangles of side 1x3. +There are 4 rectangles of side 2x1. +There are 2 rectangles of side 2x2. +There are 2 rectangles of side 3x1. +There is 1 rectangle of side 3x2. +Total number of rectangles = 8 + 5 + 2 + 4 + 2 + 2 + 1 = 24. +``` ## 结语 diff --git a/leetcode/1501-1600/1504.Count-Submatrices-With-All-Ones/Solution.go b/leetcode/1501-1600/1504.Count-Submatrices-With-All-Ones/Solution.go index d115ccf5e..2d0d2aa1e 100644 --- a/leetcode/1501-1600/1504.Count-Submatrices-With-All-Ones/Solution.go +++ b/leetcode/1501-1600/1504.Count-Submatrices-With-All-Ones/Solution.go @@ -1,5 +1,28 @@ package Solution -func Solution(x bool) bool { - return x +func Solution(mat [][]int) int { + n := len(mat[0]) + heights := make([]int, n) + res := 0 + for _, row := range mat { + for i := 0; i < n; i++ { + if row[i] == 0 { + heights[i] = 0 + } else { + heights[i]++ + } + } + stack := [][3]int{{-1, 0, -1}} + for i, h := range heights { + for len(stack) > 1 && stack[len(stack)-1][2] >= h { + stack = stack[:len(stack)-1] + } + top := stack[len(stack)-1] + j, prev := top[0], top[1] + cur := prev + (i-j)*h + stack = append(stack, [3]int{i, cur, h}) + res += cur + } + } + return res } diff --git a/leetcode/1501-1600/1504.Count-Submatrices-With-All-Ones/Solution_test.go b/leetcode/1501-1600/1504.Count-Submatrices-With-All-Ones/Solution_test.go index 14ff50eb4..be7710355 100644 --- a/leetcode/1501-1600/1504.Count-Submatrices-With-All-Ones/Solution_test.go +++ b/leetcode/1501-1600/1504.Count-Submatrices-With-All-Ones/Solution_test.go @@ -10,12 +10,11 @@ func TestSolution(t *testing.T) { // 测试用例 cases := []struct { name string - inputs bool - expect bool + inputs [][]int + expect int }{ - {"TestCase", true, true}, - {"TestCase", true, true}, - {"TestCase", false, false}, + {"TestCase1", [][]int{{1, 0, 1}, {1, 1, 0}, {1, 1, 0}}, 13}, + {"TestCase2", [][]int{{0, 1, 1, 0}, {0, 1, 1, 1}, {1, 1, 1, 0}}, 24}, } // 开始测试 @@ -30,10 +29,10 @@ func TestSolution(t *testing.T) { } } -// 压力测试 +// 压力测试 func BenchmarkSolution(b *testing.B) { } -// 使用案列 +// 使用案列 func ExampleSolution() { } From 205ae9b7d52dd376d497a68f0bb407635e8677bc Mon Sep 17 00:00:00 2001 From: 0xff-dev Date: Fri, 22 Aug 2025 08:57:13 +0800 Subject: [PATCH 15/15] Add solution and test-cases for problem 3195 --- .../1.png | Bin 0 -> 12513 bytes .../2.png | Bin 0 -> 7542 bytes .../README.md | 35 +++++++++++------- .../Solution.go | 19 +++++++++- .../Solution_test.go | 13 +++---- 5 files changed, 45 insertions(+), 22 deletions(-) create mode 100644 leetcode/3101-3200/3195.Find-the-Minimum-Area-to-Cover-All-Ones-I/1.png create mode 100644 leetcode/3101-3200/3195.Find-the-Minimum-Area-to-Cover-All-Ones-I/2.png diff --git a/leetcode/3101-3200/3195.Find-the-Minimum-Area-to-Cover-All-Ones-I/1.png b/leetcode/3101-3200/3195.Find-the-Minimum-Area-to-Cover-All-Ones-I/1.png new file mode 100644 index 0000000000000000000000000000000000000000..b84f01864da155b4845aab221931219bb6a618c9 GIT binary patch literal 12513 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 literal 0 HcmV?d00001 diff --git a/leetcode/3101-3200/3195.Find-the-Minimum-Area-to-Cover-All-Ones-I/README.md b/leetcode/3101-3200/3195.Find-the-Minimum-Area-to-Cover-All-Ones-I/README.md index 8ae78c296..07307f9a0 100755 --- a/leetcode/3101-3200/3195.Find-the-Minimum-Area-to-Cover-All-Ones-I/README.md +++ b/leetcode/3101-3200/3195.Find-the-Minimum-Area-to-Cover-All-Ones-I/README.md @@ -1,28 +1,37 @@ # [3195.Find the Minimum Area to Cover All Ones I][title] -> [!WARNING|style:flat] -> This question is temporarily unanswered if you have good ideas. Welcome to [Create Pull Request PR](https://github.com/kylesliu/awesome-golang-algorithm) - ## Description +You are given a 2D **binary** array `grid`. Find a rectangle with horizontal and vertical sides with the **smallest** area, such that all the 1's in `grid` lie inside this rectangle. + +Return the **minimum** possible area of the rectangle. + +**Example 1:** -**Example 1:** +![1](./1.png) ``` -Input: a = "11", b = "1" -Output: "100" +Input: grid = [[0,1,0],[1,0,1]] + +Output: 6 + +Explanation: + +The smallest rectangle has a height of 2 and a width of 3, so it has an area of 2 * 3 = 6. ``` -## 题意 -> ... +**Example 2:** -## 题解 +![2](./2.png) -### 思路1 -> ... -Find the Minimum Area to Cover All Ones I -```go ``` +Input: grid = [[1,0],[0,0]] + +Output: 1 +Explanation: + +The smallest rectangle has both height and width 1, so its area is 1 * 1 = 1. +``` ## 结语 diff --git a/leetcode/3101-3200/3195.Find-the-Minimum-Area-to-Cover-All-Ones-I/Solution.go b/leetcode/3101-3200/3195.Find-the-Minimum-Area-to-Cover-All-Ones-I/Solution.go index d115ccf5e..7d780374e 100644 --- a/leetcode/3101-3200/3195.Find-the-Minimum-Area-to-Cover-All-Ones-I/Solution.go +++ b/leetcode/3101-3200/3195.Find-the-Minimum-Area-to-Cover-All-Ones-I/Solution.go @@ -1,5 +1,20 @@ package Solution -func Solution(x bool) bool { - return x +func Solution(grid [][]int) int { + leftTop, rightBottom := [2]int{1001, 1001}, [2]int{-1, -1} + rows, cols := len(grid), len(grid[0]) + for i := 0; i < rows; i++ { + for j := 0; j < cols; j++ { + if grid[i][j] == 1 { + leftTop[0] = min(leftTop[0], i) + leftTop[1] = min(leftTop[1], j) + + rightBottom[0] = max(rightBottom[0], i) + rightBottom[1] = max(rightBottom[1], j) + } + } + } + x := rightBottom[0] - leftTop[0] + y := rightBottom[1] - leftTop[1] + return (x + 1) * (y + 1) } diff --git a/leetcode/3101-3200/3195.Find-the-Minimum-Area-to-Cover-All-Ones-I/Solution_test.go b/leetcode/3101-3200/3195.Find-the-Minimum-Area-to-Cover-All-Ones-I/Solution_test.go index 14ff50eb4..24574291a 100644 --- a/leetcode/3101-3200/3195.Find-the-Minimum-Area-to-Cover-All-Ones-I/Solution_test.go +++ b/leetcode/3101-3200/3195.Find-the-Minimum-Area-to-Cover-All-Ones-I/Solution_test.go @@ -10,12 +10,11 @@ func TestSolution(t *testing.T) { // 测试用例 cases := []struct { name string - inputs bool - expect bool + inputs [][]int + expect int }{ - {"TestCase", true, true}, - {"TestCase", true, true}, - {"TestCase", false, false}, + {"TestCase1", [][]int{{0, 1, 0}, {1, 0, 1}}, 6}, + {"TestCase2", [][]int{{1, 0}, {0, 0}}, 1}, } // 开始测试 @@ -30,10 +29,10 @@ func TestSolution(t *testing.T) { } } -// 压力测试 +// 压力测试 func BenchmarkSolution(b *testing.B) { } -// 使用案列 +// 使用案列 func ExampleSolution() { }