From 3e17671d6f54ee10f0e351df6c8e54e5eee782c9 Mon Sep 17 00:00:00 2001 From: 0xff-dev Date: Wed, 5 Mar 2025 09:17:48 +0800 Subject: [PATCH] Add solution and test-cases for problem 2579 --- .../1.png | Bin 0 -> 15650 bytes .../README.md | 37 ++++++++++++++++++ .../Solution.go | 11 +++++- .../Solution_test.go | 15 +++---- 4 files changed, 54 insertions(+), 9 deletions(-) create mode 100644 leetcode/2501-2600/2579.Count-Total-Number-of-Colored-Cells/1.png create mode 100644 leetcode/2501-2600/2579.Count-Total-Number-of-Colored-Cells/README.md diff --git a/leetcode/2501-2600/2579.Count-Total-Number-of-Colored-Cells/1.png b/leetcode/2501-2600/2579.Count-Total-Number-of-Colored-Cells/1.png new file mode 100644 index 0000000000000000000000000000000000000000..cdcc3dbd8cb13f66eac21c60175769167d2a335c GIT binary patch literal 15650 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 literal 0 HcmV?d00001 diff --git a/leetcode/2501-2600/2579.Count-Total-Number-of-Colored-Cells/README.md b/leetcode/2501-2600/2579.Count-Total-Number-of-Colored-Cells/README.md new file mode 100644 index 000000000..6b109edb3 --- /dev/null +++ b/leetcode/2501-2600/2579.Count-Total-Number-of-Colored-Cells/README.md @@ -0,0 +1,37 @@ +# [2579.Count Total Number of Colored Cells][title] + +## Description +There exists an infinitely large two-dimensional grid of uncolored unit cells. You are given a positive integer `n`, indicating that you must do the following routine for `n` minutes: + +- At the first minute, color **any** arbitrary unit cell blue. +- Every minute thereafter, color blue **every** uncolored cell that touches a blue cell. + +Below is a pictorial representation of the state of the grid after minutes 1, 2, and 3. + + +![1](./1.png) + +Return the number of colored cells at the end of n minutes. + +**Example 1:** + +``` +Input: n = 1 +Output: 1 +Explanation: After 1 minute, there is only 1 blue cell, so we return 1. +``` + +**Example 2:** + +``` +Input: n = 2 +Output: 5 +Explanation: After 2 minutes, there are 4 colored cells on the boundary and 1 in the center, so we return 5. +``` + +## 结语 + +如果你同我一样热爱数据结构、算法、LeetCode,可以关注我 GitHub 上的 LeetCode 题解:[awesome-golang-algorithm][me] + +[title]: https://leetcode.com/problems/grid-illumination/ +[me]: https://github.com/kylesliu/awesome-golang-algorithm diff --git a/leetcode/2501-2600/2579.Count-Total-Number-of-Colored-Cells/Solution.go b/leetcode/2501-2600/2579.Count-Total-Number-of-Colored-Cells/Solution.go index d115ccf5e..077bb8a17 100755 --- a/leetcode/2501-2600/2579.Count-Total-Number-of-Colored-Cells/Solution.go +++ b/leetcode/2501-2600/2579.Count-Total-Number-of-Colored-Cells/Solution.go @@ -1,5 +1,12 @@ package Solution -func Solution(x bool) bool { - return x +func Solution(n int) int64 { + ans := int64(1) + var add int64 + for i := 2; i <= n; i++ { + add = int64(i-1) * 4 + ans += add + } + + return ans } diff --git a/leetcode/2501-2600/2579.Count-Total-Number-of-Colored-Cells/Solution_test.go b/leetcode/2501-2600/2579.Count-Total-Number-of-Colored-Cells/Solution_test.go index 14ff50eb4..e561b7e20 100755 --- a/leetcode/2501-2600/2579.Count-Total-Number-of-Colored-Cells/Solution_test.go +++ b/leetcode/2501-2600/2579.Count-Total-Number-of-Colored-Cells/Solution_test.go @@ -10,12 +10,13 @@ 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", 1, 1}, + {"TestCase2", 2, 5}, + {"TestCase3", 3, 13}, + {"TestCase4", 4, 25}, } // 开始测试 @@ -30,10 +31,10 @@ func TestSolution(t *testing.T) { } } -// 压力测试 +// 压力测试 func BenchmarkSolution(b *testing.B) { } -// 使用案列 +// 使用案列 func ExampleSolution() { }