一、题目描述
给你一个整数 n ,找出从 1 到 n 各个整数的 Fizz Buzz 表示,并用字符串数组 answer(下标从 1 开始)返回结果,其中:
answer[i] == "FizzBuzz"如果i同时是3和5的倍数。answer[i] == "Fizz"如果i是3的倍数。answer[i] == "Buzz"如果i是5的倍数。answer[i] == i(以字符串形式)如果上述条件全不满足。
示例 1:
输入: n = 3
输出: ["1","2","Fizz"]
示例 2:
输入: n = 5
输出: ["1","2","Fizz","4","Buzz"]
示例 3:
输入: n = 15
输出: ["1","2","Fizz","4","Buzz","Fizz","7","8","Fizz","Buzz","11","Fizz","13","14","FizzBuzz"]
提示:
1 <= n <= 104
二、思路分析
- 先填充数组
- 优先判断交际,然后判断
5的倍数,最后判断3的倍数 - 最后在删除头部
三、代码答案
/**
* @param {number} n
* @return {string[]}
*/
var fizzBuzz = function (n) {
const arr = new Array(n + 1).fill('');
for (var i = 1; i < arr.length; i++) {
if (i % 3 === 0 && i % 5 === 0) {
arr[i] = "FizzBuzz";
} else if (i % 5 === 0) {
arr[i] = "Buzz";
}
else if (i % 3 === 0) {
arr[i] += "Fizz";
} else {
arr[i] = i + '';
}
}
arr.shift()
return arr
};