From 6fdc49470520ae866aefd11922bdebb44bcb5a8e Mon Sep 17 00:00:00 2001 From: Gadam Jumayev Date: Wed, 3 Sep 2025 00:54:00 +0500 Subject: [PATCH 1/4] fix: solution of 412 --- solution/0400-0499/0412.Fizz Buzz/Solution.go | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/solution/0400-0499/0412.Fizz Buzz/Solution.go b/solution/0400-0499/0412.Fizz Buzz/Solution.go index 0a7f2deab0707..84ef3376223d6 100644 --- a/solution/0400-0499/0412.Fizz Buzz/Solution.go +++ b/solution/0400-0499/0412.Fizz Buzz/Solution.go @@ -1,16 +1,16 @@ func fizzBuzz(n int) (ans []string) { - for i := 1; i <= n; i++ { - s := &strings.Builder{} - if i%3 == 0 { - s.WriteString("Fizz") + ans := make([]string, 0, n) + for i := 1; i < n+1; i++ { + switch { + case i%15 == 0: + ans = append(ans, "FizzBuzz") + case i%3 == 0: + ans = append(ans, "Fizz") + case i%5 == 0: + ans = append(ans, "Buzz") + default: + ans = append(ans, strconv.Itoa(i)) } - if i%5 == 0 { - s.WriteString("Buzz") - } - if s.Len() == 0 { - s.WriteString(strconv.Itoa(i)) - } - ans = append(ans, s.String()) } - return + return ans } \ No newline at end of file From b3c4847d80166c20b2fd6165b167e131f046561a Mon Sep 17 00:00:00 2001 From: Libin YANG Date: Wed, 3 Sep 2025 07:11:25 +0800 Subject: [PATCH 2/4] Change fizzBuzz return type to []string --- solution/0400-0499/0412.Fizz Buzz/Solution.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/solution/0400-0499/0412.Fizz Buzz/Solution.go b/solution/0400-0499/0412.Fizz Buzz/Solution.go index 84ef3376223d6..152ffb5b96e7d 100644 --- a/solution/0400-0499/0412.Fizz Buzz/Solution.go +++ b/solution/0400-0499/0412.Fizz Buzz/Solution.go @@ -1,4 +1,4 @@ -func fizzBuzz(n int) (ans []string) { +func fizzBuzz(n int) []string { ans := make([]string, 0, n) for i := 1; i < n+1; i++ { switch { @@ -13,4 +13,4 @@ func fizzBuzz(n int) (ans []string) { } } return ans -} \ No newline at end of file +} From 5637bcad9500b1017dda428b20cfe40c29706d06 Mon Sep 17 00:00:00 2001 From: Libin YANG Date: Wed, 3 Sep 2025 07:12:11 +0800 Subject: [PATCH 3/4] Refactor fizzBuzz function in Go Refactor fizzBuzz function to use switch statement and improve performance. --- solution/0400-0499/0412.Fizz Buzz/README.md | 26 ++++++++++----------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/solution/0400-0499/0412.Fizz Buzz/README.md b/solution/0400-0499/0412.Fizz Buzz/README.md index 19d4d3abe8a6c..2eb7eb21ec3ef 100644 --- a/solution/0400-0499/0412.Fizz Buzz/README.md +++ b/solution/0400-0499/0412.Fizz Buzz/README.md @@ -141,21 +141,21 @@ public: #### Go ```go -func fizzBuzz(n int) (ans []string) { - for i := 1; i <= n; i++ { - s := &strings.Builder{} - if i%3 == 0 { - s.WriteString("Fizz") +func fizzBuzz(n int) []string { + ans := make([]string, 0, n) + for i := 1; i < n+1; i++ { + switch { + case i%15 == 0: + ans = append(ans, "FizzBuzz") + case i%3 == 0: + ans = append(ans, "Fizz") + case i%5 == 0: + ans = append(ans, "Buzz") + default: + ans = append(ans, strconv.Itoa(i)) } - if i%5 == 0 { - s.WriteString("Buzz") - } - if s.Len() == 0 { - s.WriteString(strconv.Itoa(i)) - } - ans = append(ans, s.String()) } - return + return ans } ``` From 909d2d668b0126594f6dc018c3c9251466ca1e88 Mon Sep 17 00:00:00 2001 From: Libin YANG Date: Wed, 3 Sep 2025 07:12:31 +0800 Subject: [PATCH 4/4] Refactor fizzBuzz function in README_EN.md Refactor fizzBuzz function to use switch-case and improve performance. --- .../0400-0499/0412.Fizz Buzz/README_EN.md | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/solution/0400-0499/0412.Fizz Buzz/README_EN.md b/solution/0400-0499/0412.Fizz Buzz/README_EN.md index 088605636ac28..70e9acfae2992 100644 --- a/solution/0400-0499/0412.Fizz Buzz/README_EN.md +++ b/solution/0400-0499/0412.Fizz Buzz/README_EN.md @@ -129,21 +129,21 @@ public: #### Go ```go -func fizzBuzz(n int) (ans []string) { - for i := 1; i <= n; i++ { - s := &strings.Builder{} - if i%3 == 0 { - s.WriteString("Fizz") +func fizzBuzz(n int) []string { + ans := make([]string, 0, n) + for i := 1; i < n+1; i++ { + switch { + case i%15 == 0: + ans = append(ans, "FizzBuzz") + case i%3 == 0: + ans = append(ans, "Fizz") + case i%5 == 0: + ans = append(ans, "Buzz") + default: + ans = append(ans, strconv.Itoa(i)) } - if i%5 == 0 { - s.WriteString("Buzz") - } - if s.Len() == 0 { - s.WriteString(strconv.Itoa(i)) - } - ans = append(ans, s.String()) } - return + return ans } ```