首页 > 其他 > 详细

LeetCode_412. Fizz Buzz

时间:2019-11-25 18:05:47      阅读:70      评论:0      收藏:0      [点我收藏+]

 

412. Fizz Buzz

Easy

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"
]

 

package leetcode.easy;

public class FizzBuzz {
	public java.util.List<String> fizzBuzz1(int n) {

		// ans list
		java.util.List<String> ans = new java.util.ArrayList<String>();

		for (int num = 1; num <= n; num++) {

			boolean divisibleBy3 = (num % 3 == 0);
			boolean divisibleBy5 = (num % 5 == 0);

			if (divisibleBy3 && divisibleBy5) {
				// Divides by both 3 and 5, add FizzBuzz
				ans.add("FizzBuzz");
			} else if (divisibleBy3) {
				// Divides by 3, add Fizz
				ans.add("Fizz");
			} else if (divisibleBy5) {
				// Divides by 5, add Buzz
				ans.add("Buzz");
			} else {
				// Not divisible by 3 or 5, add the number
				ans.add(Integer.toString(num));
			}
		}

		return ans;
	}

	public java.util.List<String> fizzBuzz2(int n) {
		// ans list
		java.util.List<String> ans = new java.util.ArrayList<String>();

		for (int num = 1; num <= n; num++) {

			boolean divisibleBy3 = (num % 3 == 0);
			boolean divisibleBy5 = (num % 5 == 0);

			String numAnsStr = "";

			if (divisibleBy3) {
				// Divides by 3, add Fizz
				numAnsStr += "Fizz";
			}

			if (divisibleBy5) {
				// Divides by 5, add Buzz
				numAnsStr += "Buzz";
			}

			if (numAnsStr.equals("")) {
				// Not divisible by 3 or 5, add the number
				numAnsStr += Integer.toString(num);
			}

			// Append the current answer str to the ans list
			ans.add(numAnsStr);
		}

		return ans;
	}

	public java.util.List<String> fizzBuzz3(int n) {

		// ans list
		java.util.List<String> ans = new java.util.ArrayList<String>();

		// Hash map to store all fizzbuzz mappings.
		java.util.HashMap<Integer, String> fizzBizzDict = new java.util.HashMap<Integer, String>() {
			{
				put(3, "Fizz");
				put(5, "Buzz");
			}
		};

		for (int num = 1; num <= n; num++) {

			String numAnsStr = "";

			for (Integer key : fizzBizzDict.keySet()) {

				// If the num is divisible by key,
				// then add the corresponding string mapping to current
				// numAnsStr
				if (num % key == 0) {
					numAnsStr += fizzBizzDict.get(key);
				}
			}

			if (numAnsStr.equals("")) {
				// Not divisible by 3 or 5, add the number
				numAnsStr += Integer.toString(num);
			}

			// Append the current answer str to the ans list
			ans.add(numAnsStr);
		}

		return ans;
	}

	@org.junit.Test
	public void test() {
		System.out.println(fizzBuzz1(15));
		System.out.println(fizzBuzz2(15));
		System.out.println(fizzBuzz3(15));
	}
}

 

LeetCode_412. Fizz Buzz

原文:https://www.cnblogs.com/denggelin/p/11929071.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!