leetcode 算法题412 (简单103) Fizz Buzz
- 题目介绍
写一个程序,输出从 1 到 n 数字的字符串表示。
1. 如果 n 是3的倍数,输出“Fizz”;
2. 如果 n 是5的倍数,输出“Buzz”;
3.如果 n 同时是3和5的倍数,输出 “FizzBuzz”。
- 示例
输入: n = 15,
返回: [ “1”, “2”, “Fizz”, “4”, “Buzz”, “Fizz”, “7”, “8”, “Fizz”, “Buzz”, “11”, “Fizz”, “13”, “14”, “FizzBuzz” ]
- 解法一
/**
* @param {number} n
* @return {string[]}
*/
var fizzBuzz = function(n) {
let i = 1, prints = [];
while(i <= n) {
if(i % 15 === 0) {
prints.push('FizzBuzz');
} else if(i % 5 === 0) {
prints.push('Buzz');
} else if(i % 3 === 0) {
prints.push('Fizz');
} else {
prints.push(i.toString());
}
i++;
}
return prints;
};
执行用时 : 132 ms, 在所有 JavaScript 提交中击败了9.38%的用户
内存消耗 : 37.4 MB, 在所有 JavaScript 提交中击败了34.62%的用户
- 解法二
/**
* @param {number} n
* @return {string[]}
*/
var fizzBuzz = function(n) {
let i = 1, prints = [];
while(i <= n) {
if(i % 15 === 0) {
prints.push('FizzBuzz');
} else if(i % 5 === 0) {
prints.push('Buzz');
} else if(i % 3 === 0) {
prints.push('Fizz');
} else {
prints.push(i.toString());
}
i++;
}
return prints;
};
执行用时 : 120 ms, 在所有 JavaScript 提交中击败了13.04%的用户
内存消耗 : 37.4 MB, 在所有 JavaScript 提交中击败了29.49%的用户