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));
    	}
    }
    
  • 相关阅读:
    Linux命令之查看cpu个数_核数_内存总数
    Python文件操作大全,随机删除文件夹内的任意文件
    Python文件操作:同一个文件进行内容替换
    异步请求Python库 grequests的应用和与requests库的响应速度的比较
    查询MySQL某字段相同值得重复数据
    /var/redis/run/redis_6379.pid exists, process is already running or crashed的解决办法
    人工智能----TensorFlow开篇简介
    Centos6.5+Python2.7 +ffmpeg+opencv2自动安装脚本
    决策统计---指标六要素
    大数据应用分类
  • 原文地址:https://www.cnblogs.com/denggelin/p/11929071.html
Copyright © 2011-2022 走看看