Problem
Given an integer n
, return a string array answer
(1-indexed) where:
answer[i] == "FizzBuzz"
ifi
is divisible by3
and5
.answer[i] == "Fizz"
ifi
is divisible by3
.answer[i] == "Buzz"
ifi
is divisible by5
.answer[i] == i
(as a string) if none of the above conditions are true.
Example 1:
Input: n = 3
Output: ["1","2","Fizz"]
Example 2:
Input: n = 5
Output: ["1","2","Fizz","4","Buzz"]
Example 3:
Input: n = 15
Output: ["1","2","Fizz","4","Buzz","Fizz","7","8","Fizz","Buzz","11","Fizz","13","14","FizzBuzz"]
Constraints:
1 <= n <= 10^4
Solution
/**
* @param {number} n
* @return {string[]}
*/
var fizzBuzz = function(n) {
let res = []; // empty array of the results
let line = ""; // temp value that holds the current index's value before push
n++; // removes need to also check for == case
for(var i = 1; i < n; i++) {
if(i % 3 == 0) {
line = "Fizz";
if(i % 5 == 0) {
line += "Buzz";
}
} else if (i % 5 == 0) {
line = "Buzz";
} else {
line = i.toString();
}
res.push(line);
}
return res;
};
Explain:
nope.
Complexity:
- Time complexity :
- Space complexity :