File tree Expand file tree Collapse file tree 3 files changed +40
-40
lines changed
solution/0400-0499/0412.Fizz Buzz Expand file tree Collapse file tree 3 files changed +40
-40
lines changed Original file line number Diff line number Diff line change @@ -141,21 +141,21 @@ public:
141
141
#### Go
142
142
143
143
```go
144
- func fizzBuzz(n int) (ans []string) {
145
- for i := 1; i <= n; i++ {
146
- s := &strings.Builder{}
147
- if i%3 == 0 {
148
- s.WriteString("Fizz")
144
+ func fizzBuzz(n int) []string {
145
+ ans := make([]string, 0, n)
146
+ for i := 1; i < n+1; i++ {
147
+ switch {
148
+ case i%15 == 0:
149
+ ans = append(ans, "FizzBuzz")
150
+ case i%3 == 0:
151
+ ans = append(ans, "Fizz")
152
+ case i%5 == 0:
153
+ ans = append(ans, "Buzz")
154
+ default:
155
+ ans = append(ans, strconv.Itoa(i))
149
156
}
150
- if i%5 == 0 {
151
- s.WriteString("Buzz")
152
- }
153
- if s.Len() == 0 {
154
- s.WriteString(strconv.Itoa(i))
155
- }
156
- ans = append(ans, s.String())
157
157
}
158
- return
158
+ return ans
159
159
}
160
160
```
161
161
Original file line number Diff line number Diff line change @@ -129,21 +129,21 @@ public:
129
129
#### Go
130
130
131
131
```go
132
- func fizzBuzz(n int) (ans []string) {
133
- for i := 1; i <= n; i++ {
134
- s := &strings.Builder{}
135
- if i%3 == 0 {
136
- s.WriteString("Fizz")
132
+ func fizzBuzz(n int) []string {
133
+ ans := make([]string, 0, n)
134
+ for i := 1; i < n+1; i++ {
135
+ switch {
136
+ case i%15 == 0:
137
+ ans = append(ans, "FizzBuzz")
138
+ case i%3 == 0:
139
+ ans = append(ans, "Fizz")
140
+ case i%5 == 0:
141
+ ans = append(ans, "Buzz")
142
+ default:
143
+ ans = append(ans, strconv.Itoa(i))
137
144
}
138
- if i%5 == 0 {
139
- s.WriteString("Buzz")
140
- }
141
- if s.Len() == 0 {
142
- s.WriteString(strconv.Itoa(i))
143
- }
144
- ans = append(ans, s.String())
145
145
}
146
- return
146
+ return ans
147
147
}
148
148
```
149
149
Original file line number Diff line number Diff line change 1
- func fizzBuzz (n int ) (ans []string ) {
2
- for i := 1 ; i <= n ; i ++ {
3
- s := & strings.Builder {}
4
- if i % 3 == 0 {
5
- s .WriteString ("Fizz" )
1
+ func fizzBuzz (n int ) []string {
2
+ ans := make ([]string , 0 , n )
3
+ for i := 1 ; i < n + 1 ; i ++ {
4
+ switch {
5
+ case i % 15 == 0 :
6
+ ans = append (ans , "FizzBuzz" )
7
+ case i % 3 == 0 :
8
+ ans = append (ans , "Fizz" )
9
+ case i % 5 == 0 :
10
+ ans = append (ans , "Buzz" )
11
+ default :
12
+ ans = append (ans , strconv .Itoa (i ))
6
13
}
7
- if i % 5 == 0 {
8
- s .WriteString ("Buzz" )
9
- }
10
- if s .Len () == 0 {
11
- s .WriteString (strconv .Itoa (i ))
12
- }
13
- ans = append (ans , s .String ())
14
14
}
15
- return
16
- }
15
+ return ans
16
+ }
You can’t perform that action at this time.
0 commit comments