博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
412. Fizz Buzz
阅读量:4608 次
发布时间:2019-06-09

本文共 2022 字,大约阅读时间需要 6 分钟。

Write a program that outputs the string representation of numbers from 1 to n.

But for multiples of three it should output “Fizz” instead of the number and for the multiples of five output “Buzz”. For numbers which are multiples of both three and five output “FizzBuzz”.

Example:

n = 15,Return:[    "1",    "2",    "Fizz",    "4",    "Buzz",    "Fizz",    "7",    "8",    "Fizz",    "Buzz",    "11",    "Fizz",    "13",    "14",    "FizzBuzz"]

分析

遍历1~n的所有整数并以字符串形式存入List中,3的倍数"Fizz",5的倍数"Buzz",15的倍数"FizzBuzz"

解答

解法1:(我)(3ms√)

public class Solution {    public List
fizzBuzz(int n) { List
list = new ArrayList
(); for (int i = 1; i <= n; i++) { if (i % 15 == 0) { list.add("FizzBuzz"); } else if (i % 3 == 0) { list.add("Fizz"); } else if (i % 5 == 0) { list.add("Buzz"); } else{ list.add(Integer.toString(i));//或String.valueOf(i) } } return list; }}

 

解法2:不用"%"操作符(4ms)

Integer.highestOneBit() 返回一个int值:如果i具有'1'位,则返回值具有1个'1'位,其位置即是i的最高位(最左边)的'1'位的位置;如果i不具有'1'位,则i=0,返回0。例:Integer.highestOneBit(5) = 4,因为5的二进制表示为101,返回值的二进制表示为100

public class Solution {    public List
fizzBuzz(int n) { List
list = new ArrayList
(n); for(int i = 1, fizz = 0, buzz = 0; i <= n; i++){ fizz++; buzz++; if(fizz == 3 && buzz == 5){ list.add("FizzBuzz"); fizz = 0; buzz = 0; } else if(fizz == 3){ list.add("Fizz"); fizz = 0; } else if(buzz == 5){ list.add("Buzz"); buzz = 0; } else{ list.add(Integer.toString(i));//或String.valueOf(i) } } return list; }}

转载于:https://www.cnblogs.com/xuehaoyue/p/6412534.html

你可能感兴趣的文章
三月23日测试Fiddler
查看>>
20171013_数据库新环境后期操作
查看>>
poj 1654 && poj 1675
查看>>
运维派 企业面试题1 监控MySQL主从同步是否异常
查看>>
Docker 版本
查看>>
poj 1753 Flip Game
查看>>
在深信服实习是怎样的体验(研发测试岗)
查看>>
Linux免密码登陆
查看>>
SpringMVC中文件的上传(上传到服务器)和下载问题(二)--------下载
查看>>
Socket & TCP &HTTP
查看>>
osip及eXosip的编译方法
查看>>
Hibernate composite key
查看>>
[CF Round #294 div2] D. A and B and Interesting Substrings 【Map】
查看>>
keepalived+nginx安装配置
查看>>
我的2015---找寻真实的自己
查看>>
android编译遇到问题修改
查看>>
解决Ubuntu18.04.2远程桌面Xrdp登录蓝屏问题
查看>>
python_封装redis_hash方法
查看>>
《windows程序设计》获取窗口尺寸(05)
查看>>
【重点突破】——Canvas技术绘制音乐播放器界面
查看>>