0%

fizz-buzz

Fizz Buzz – LeetCode 412

Problem

Description

Write a program that outputs the string representation of numbers from 1 to n.

But for multiples of three it should output “Fizz” instead of the number and for the multiples of five output “Buzz”. For numbers which are multiples of both three and five output “FizzBuzz”.

Example

n = 15,

Return:
[
“1”,
“2”,
“Fizz”,
“4”,
“Buzz”,
“Fizz”,
“7”,
“8”,
“Fizz”,
“Buzz”,
“11”,
“Fizz”,
“13”,
“14”,
“FizzBuzz”
]

Answer

Original

Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Solution {
public:
vector<string> fizzBuzz(int n) {
vector<string> result;
for(int i = 1; i <= n; ++i){
if(!(i % 15))
result.emplace_back("FizzBuzz");
else if(!(i % 5))
result.emplace_back("Buzz");
else if(!(i % 3))
result.emplace_back("Fizz");
else
result.emplace_back(to_string(i));
}
return result;

}
};

思路

看题说话。时间复杂度$O(n)$,空间复杂度$O(n)$。
耗时$5$ ms,排名$70.10\%$

Better

思路

没有看到更好的思路。