zoukankan      html  css  js  c++  java
  • [LeetCode] 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"
    ]
    

    输出1到n的数字,
    把3的倍数变成Fizz
    5的倍数变成Buzz
    15的倍数变成FizzBuzz

    我第一次写出了这样的版本,难以直视,同时被3和5整除就是能被15整除的意思我居然没想到,STUPID

    vector<string> fizzBuzz(int n)
    {
        vector<string> result;
        for (int i = 1; i <= n; i++)
        {
            bool isThreeMultiple = i % 3 == 0;
            bool isFiveMultiple = i % 5 == 0;
    
            if (!isThreeMultiple && !isFiveMultiple)
            {
                result.push_back(to_string(i));
                continue;
            }
            else
            {
                string tmp;
                if (isThreeMultiple)
                {
                    tmp += "Fizz";
                }
                if (isFiveMultiple)
                {
                    tmp += "Buzz";
                }
                result.push_back(tmp);
            }
        }
    
        return result;
    }
    

    更加正常的版本

    vector<string> fizzBuzz(int n)
    {
        vector<string> result;
        for (int i = 1; i <= n; i++)
        {
            if (i % 15 == 0)
            {
                result.push_back("FizzBuzz");
            }
            else if (i % 5 == 0)
            {
                result.push_back("Buzz");
            }
            else if (i % 3 == 0)
            {
                result.push_back("Fizz");
            }
            else
            {
                result.push_back(to_string(i));
            }
        }
    
        return result;
    }
    

    神奇的是后面这个版本在LeetCode里的排名还要靠后一些,前面那个臃肿的版本居然能拿到100%

  • 相关阅读:
    积木游戏
    斐波那契公倍数
    莫比乌斯反演,狄利克雷卷积,杜教筛
    CF932E Team Work
    【算法学习/数据结构】李超树
    【算法笔记/数学内容】博弈论-从入土到入土
    瞎几把写的cspj题解
    【算法笔记】数位dp
    【算法笔记】树形dp
    攻防世界-WEB相关writeup-3
  • 原文地址:https://www.cnblogs.com/arcsinw/p/9473896.html
Copyright © 2011-2022 走看看