题目大意:
写一个程序,输出从 1 到 n 数字的字符串表示。
- 如果 n 是3的倍数,输出“Fizz”;
- 如果 n 是5的倍数,输出“Buzz”;
- 如果 n 同时是3和5的倍数,输出 “FizzBuzz”。
示例:
n = 15,
返回:
[
“1”,
“2”,
“Fizz”,
“4”,
“Buzz”,
“Fizz”,
“7”,
“8”,
“Fizz”,
“Buzz”,
“11”,
“Fizz”,
“13”,
“14”,
“FizzBuzz”
]
如果想查看本题目是哪家公司的面试题,请参考以下免费链接: https://leetcode.jp/problemdetail.php?id=412
解题思路分析:
这是一道简单题目,用不上什么算法,直接从1循环到n,按条件添加字符串到List中即可。
(也许是过于简单的原因,此题在Leetcode上的差评很多。。。。)
实现代码:
public List<String> fizzBuzz(int n) { List<String> res = new ArrayList<>(); for(int i=1;i<=n;i++){ if(i%3==0&&i%5==0){ res.add("FizzBuzz"); }else if(i%3==0){ res.add("Fizz"); }else if(i%5==0){ res.add("Buzz"); }else{ res.add(String.valueOf(i)); } } return res; }
本解法运行时间为1ms。
Runtime: 1 ms, faster than 99.90% of Java online submissions for Fizz Buzz.
Memory Usage: 37.1 MB, less than 100.00% of Java online submissions for Fizz Buzz.
本网站文章均为原创内容,并可随意转载,但请标明本文链接如有任何疑问可在文章底部留言。为了防止恶意评论,本博客现已开启留言审核功能。但是博主会在后台第一时间看到您的留言,并会在第一时间对您的留言进行回复!欢迎交流!
本文链接: https://leetcode.jp/leetcode-412-fizz-buzz-解题思路分析/