写一个程序,输出从 1 到 n 数字的字符串表示。
如果 n 是3的倍数,输出“Fizz”;
如果 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"
]
从1到n 遍历一次,对n 取余判断结果是 “Fizz” 或是 “Buzz” 或是 “FizzBuzz”,时间复杂度 O(n)
/**
* @param Integer $n
* @return String[]
*/
function fizzBuzz($n) {
$data = array();
for ($i=1; $i <= $n; $i++) {
if($i % 5== 0 && $i % 3 ==0 ){
$data[] = "FizzBuzz";
}else if($i % 3 == 0){
$data[] = "Fizz";
}else if($i % 5 == 0){
$data[] = "Buzz";
}else{
$data[] = $i . '';
}
}
return $data;
}
}
已经战胜 100.00 % 的 php 提交记录
执行用时 : 20 ms, 在Fizz Buzz的PHP提交中击败了100.00% 的用户
内存消耗 : 18.2 MB, 在Fizz Buzz的PHP提交中击败了57.14% 的用户