From a6625ab1955ae2afc8c4d7cd0adc622d110a16da Mon Sep 17 00:00:00 2001 From: 0xff-dev Date: Mon, 9 Jun 2025 09:26:01 +0800 Subject: [PATCH] Add solution and test-cases for problem 3249 --- .../3249.Count-the-Number-of-Good-Nodes/1.png | Bin 0 -> 18148 bytes .../3249.Count-the-Number-of-Good-Nodes/2.png | Bin 0 -> 20093 bytes .../3249.Count-the-Number-of-Good-Nodes/3.jpg | Bin 0 -> 42013 bytes .../README.md | 41 +++++++++++------ .../Solution.go | 43 +++++++++++++++++- .../Solution_test.go | 14 +++--- 6 files changed, 76 insertions(+), 22 deletions(-) create mode 100644 leetcode/3201-3300/3249.Count-the-Number-of-Good-Nodes/1.png create mode 100644 leetcode/3201-3300/3249.Count-the-Number-of-Good-Nodes/2.png create mode 100644 leetcode/3201-3300/3249.Count-the-Number-of-Good-Nodes/3.jpg diff --git a/leetcode/3201-3300/3249.Count-the-Number-of-Good-Nodes/1.png b/leetcode/3201-3300/3249.Count-the-Number-of-Good-Nodes/1.png new file mode 100644 index 0000000000000000000000000000000000000000..a8eb208f4f507092978f6dc7b69012e0c199c4ab GIT binary patch literal 18148 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 literal 0 HcmV?d00001 diff --git a/leetcode/3201-3300/3249.Count-the-Number-of-Good-Nodes/2.png b/leetcode/3201-3300/3249.Count-the-Number-of-Good-Nodes/2.png new file mode 100644 index 0000000000000000000000000000000000000000..f9f3c9fb5a5b6efdfd924fbef9f23977b7c0f66d GIT binary patch literal 20093 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¬*sL2z(Kr*>yY zmHMym>((0qdmGiwq`*iBmGObg9J|)d2l|lG!(h$b8aN^jzm|8_aufa&19%2u0Dqd^ z8gad9RRSfkYv%fQgoMT?<7Q2_9e;j@|K z05m7w>R;pq@BKW0cM6;Axrga#q)A}DmIG1{FynQX6ugL>^Exa1Xdu-#_SN`y;-gV z$Y;+)G*n2+$T34t&QHyjd#6$X$z$I2BCP2$&S@J3BlB0l>3A#_FFZLUrvs5X8ZHyr zu>zA5_JFz{;DBH?AgPa40)Oqu?(gn0WOe++S4|c*VYAP3|C-b61iwrCtE=Wy89`DC=`jTi28Vzpf zJcyu{+k2)|vbPtZG?koEg zJV6uTbdOyMIL)x;&Yc*$`)G9W(J|D%An8HOAG-Sc)a3_{h_c zJlC%QiXzkzs>V-|5^?l*pK$gd^y<5FBMFIQ;r zv18kL7sq~J1oUk;s)Mso$ZD4E6f{oo!*|PvJ(Z4 ztD2(80?%}72BJPaRRHLf;TAw3@yR*rMadZoPkcb!RP9?vM^#TqiS;kq05;FZO!cTV zANCi2N7_mpe7d6Aaq0ddQ3byYyj-W_Ebld!b)ZiI!yrj6zevd|zwy3LPA18!SMp9~ zeiq$h)3>{;hLmB6+{hzIU)p4Ovo_pYJn%}=uP2FsS#bT$lNuReuw`izA5ioMzGmL| zX)KrUNVzSkBqSQ8G?Wl9uuEN@%+z@=(M$wY(um&a2A6PP%a1rxj2JTgIN?u%87fvE z*jwLza#ZI3cN%Y+pI5Ft5i|T~aM)PveOiL7#mRcK?HU{vInmx(K}J@x70apKMZX@s z8H285pg8_I2e$5qh>Q#4KJybra}$X{SwAVRv<>$6NYsAl4mKb(-xi?r7y6(ePUwy%IX z#9r0uy+X6tz3qJvPu+O5whe;JPvE(Jog?`(av(Cg=i2e90(^kR8laAHFGAbt3Kwn0 z?;orDX)7nna9EcN$kE=>D1tQ6oarj@%6cI(ra+Hk)gJgkrxsGzNo;tf>7IP7;FU&{ zepqr14v4y&q{@&HWLrzO=c@5fF@(m^fo+BXI1e+#gevHK6d^vRoZQt@77K(rv~*ua zAohLSSlDu{OgdSII<>uw^RkgaILr%wwVU4GyE&F3-Vn!btJY)h=e1C(W4TPl!%Avq z=Fu2%s)l4sIUjb&s6MPPHK@~YxX=M0HrQ5e^x-9`(MsD%tmvmP_*sm0En3|QzJF` zY(-OO!c#OFZK^&mhQh-3=RO|38P)5?y!h6-vvdLI!s}oH5D8jGqWxxrd1H?CYZ-N? z`!wk~m2K{nENeKo|I-!6YI@@!1%a*!;DU4BUj4`aE++9_ANBF->J;KG(niC!Nr1 zex{!+8kb=}d9-QE0ceahzDq(q_6yTtW+<(!c1}+9r3jUQz4B;Sm*j#g_$Wwpo))(x z_NoUkx4(|y~x zLtGH#N;w^39a&D^j(PWv-pooS^hBo6`;h7+hagfeQ zF*lxkp literal 0 HcmV?d00001 diff --git a/leetcode/3201-3300/3249.Count-the-Number-of-Good-Nodes/3.jpg b/leetcode/3201-3300/3249.Count-the-Number-of-Good-Nodes/3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..78cf21ae7bac50727b379270f2addea903c0304a GIT binary patch literal 42013 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 literal 0 HcmV?d00001 diff --git a/leetcode/3201-3300/3249.Count-the-Number-of-Good-Nodes/README.md b/leetcode/3201-3300/3249.Count-the-Number-of-Good-Nodes/README.md index 5ef59eb3f..315daaf98 100755 --- a/leetcode/3201-3300/3249.Count-the-Number-of-Good-Nodes/README.md +++ b/leetcode/3201-3300/3249.Count-the-Number-of-Good-Nodes/README.md @@ -1,28 +1,43 @@ # [3249.Count the Number of Good Nodes][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 +There is an **undirected** tree with `n` nodes labeled from `0` to `n - 1`, and rooted at node `0`. You are given a 2D integer array `edges` of length `n - 1`, where `edges[i] = [ai, bi]` indicates that there is an edge between nodes `ai` and `bi` in the tree. + +A node is **good** if all the subtrees rooted at its children have the same size. + +Return the number of **good** nodes in the given tree. + +A **subtree** of `treeName` is a tree consisting of a node in `treeName` and all of its descendants. -**Example 1:** +**Example 1:** + +![1](./1.png) ``` -Input: a = "11", b = "1" -Output: "100" +Input: edges = [[0,1],[0,2],[1,3],[1,4],[2,5],[2,6]] + +Output: 7 ``` -## 题意 -> ... +**Example 2:** -## 题解 +![2](./2.png) -### 思路1 -> ... -Count the Number of Good Nodes -```go ``` +Input: edges = [[0,1],[1,2],[2,3],[3,4],[0,5],[1,6],[2,7],[3,8]] +Output: 6 +``` + +**Example 3:** + +![3](./3.jpg) + +``` +Input: edges = [[0,1],[1,2],[1,3],[1,4],[0,5],[5,6],[6,7],[7,8],[0,9],[9,10],[9,12],[10,11]] + +Output: 12 +``` ## 结语 diff --git a/leetcode/3201-3300/3249.Count-the-Number-of-Good-Nodes/Solution.go b/leetcode/3201-3300/3249.Count-the-Number-of-Good-Nodes/Solution.go index d115ccf5e..0ded0369f 100644 --- a/leetcode/3201-3300/3249.Count-the-Number-of-Good-Nodes/Solution.go +++ b/leetcode/3201-3300/3249.Count-the-Number-of-Good-Nodes/Solution.go @@ -1,5 +1,44 @@ package Solution -func Solution(x bool) bool { - return x +func Solution(edges [][]int) int { + var ans int + n := len(edges) + 1 + adj := make(map[int][]int) + for _, e := range edges { + adj[e[0]] = append(adj[e[0]], e[1]) + adj[e[1]] = append(adj[e[1]], e[0]) + } + size := make([][]int, n) + var dfs func(int, int) int + dfs = func(root, parent int) int { + cnt := 1 + for _, rel := range adj[root] { + if rel == parent { + continue + } + lz := dfs(rel, root) + cnt += lz + size[root] = append(size[root], lz) + } + return cnt + } + dfs(0, -1) + for _, ls := range size { + if len(ls) == 0 { + ans++ + continue + } + + cmp := ls[0] + i := 1 + for ; i < len(ls); i++ { + if cmp != ls[i] { + break + } + } + if i == len(ls) { + ans++ + } + } + return ans } diff --git a/leetcode/3201-3300/3249.Count-the-Number-of-Good-Nodes/Solution_test.go b/leetcode/3201-3300/3249.Count-the-Number-of-Good-Nodes/Solution_test.go index 14ff50eb4..667c0470f 100644 --- a/leetcode/3201-3300/3249.Count-the-Number-of-Good-Nodes/Solution_test.go +++ b/leetcode/3201-3300/3249.Count-the-Number-of-Good-Nodes/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{{0, 1}, {0, 2}, {1, 3}, {1, 4}, {2, 5}, {2, 6}}, 7}, + {"TestCase2", [][]int{{0, 1}, {1, 2}, {2, 3}, {3, 4}, {0, 5}, {1, 6}, {2, 7}, {3, 8}}, 6}, + {"TestCase3", [][]int{{0, 1}, {1, 2}, {1, 3}, {1, 4}, {0, 5}, {5, 6}, {6, 7}, {7, 8}, {0, 9}, {9, 10}, {9, 12}, {10, 11}}, 12}, } // 开始测试 @@ -30,10 +30,10 @@ func TestSolution(t *testing.T) { } } -// 压力测试 +// 压力测试 func BenchmarkSolution(b *testing.B) { } -// 使用案列 +// 使用案列 func ExampleSolution() { }