zoukankan      html  css  js  c++  java
  • LeetCode_412. Fizz Buzz

    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));
    	}
    }
    
  • 相关阅读:
    Javascript Number类型常见迷惑点
    如何获取浏览器URL中查询字符串的参数
    Javascript string对象
    更新winform嵌套html,cef无法支持x64位的问题
    方便快捷的客户端打包工具“HM NIS Edit”
    关于C# 操作 “Everything” 的使用,超好用
    Java map集合的常用方法
    Asp.net 项目部署的403问题
    C# 获取电脑配置信息
    获取电脑系统唯一GUID
  • 原文地址:https://www.cnblogs.com/denggelin/p/11929071.html
Copyright © 2011-2022 走看看