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

    题目:

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

    链接:https://leetcode.com/problems/fizz-buzz/#/description

    3/22/2017

     1 public class Solution {
     2     public List<String> fizzBuzz(int n) {
     3         List<String> ret = new LinkedList<String>();
     4         
     5         for(int i = 1; i <= n; i++) {
     6             if (i % 3 != 0 && i % 5 != 0) {
     7                 ret.add(Integer.toString(i));
     8             } else {
     9                 StringBuilder sb = new StringBuilder();
    10                 if (i % 3 == 0) sb.append("Fizz");
    11                 if (i % 5 == 0) sb.append("Buzz");
    12                 ret.add(sb.toString());
    13             }
    14         }
    15         return ret;
    16     }
    17 }

    看到别人不用%的方法

     1 public class Solution {
     2     public List<String> fizzBuzz(int n) {
     3         List<String> ret = new ArrayList<String>(n);
     4         for(int i=1,fizz=0,buzz=0;i<=n ;i++){
     5             fizz++;
     6             buzz++;
     7             if(fizz==3 && buzz==5){
     8                 ret.add("FizzBuzz");
     9                 fizz=0;
    10                 buzz=0;
    11             }else if(fizz==3){
    12                 ret.add("Fizz");
    13                 fizz=0;
    14             }else if(buzz==5){
    15                 ret.add("Buzz");
    16                 buzz=0;
    17             }else{
    18                 ret.add(String.valueOf(i));
    19             }
    20         } 
    21         return ret;
    22     }
    23 }

    纪念一下,这是我3年前找现在工作时电话面试题,当年leetcode题非常少,我做了十几道最多不过三十道就找到工作了。如今水涨船高,欠下的账在慢慢补。

  • 相关阅读:
    ApiKernel
    ApiUser
    BringWindowToTop完美激活窗口与置顶
    poj2486 Apple Tree【区间dp】
    HYSBZ1588 营业额统计【Splay】
    hdu5115 Dire Wolf【区间dp】
    poj1144 Network【tarjan求割点】
    poj1236 Network of Schools【强连通分量(tarjan)缩点】
    poj2342 Anniversary party【树形dp】
    poj2449 Remmarguts' Date【A*算法】
  • 原文地址:https://www.cnblogs.com/panini/p/6610314.html
Copyright © 2011-2022 走看看