zoukankan      html  css  js  c++  java
  • 每日leetcode-数组-412. Fizz Buzz

    分类:字符串-字符与数字串间转换

    题目描述:

    写一个程序,输出从 1 到 n 数字的字符串表示。

    1. 如果 n 是3的倍数,输出“Fizz”;

    2. 如果 n 是5的倍数,输出“Buzz”;

    3.如果 n 同时是3和5的倍数,输出 “FizzBuzz”。

    解题思路:直接遍历判断,取余数

    class Solution:
        def fizzBuzz(self, n: int) -> List[str]:
            L = []
            for i in range(1,n+1):
                if i % 3 == 0 and i % 5 != 0:
                    L.append('Fizz') 
                elif i % 5 == 0 and i % 3 != 0:
                    L.append('Buzz') 
                elif i % 5 == 0 and i % 3 == 0:
                    L.append('FizzBuzz') 
                else:
                    L.append(str(i))
            return L

    时间复杂度:O(n)遍历

    空间复杂度:O(n) 用了一个数组来存结果

    代码优化:要先判断是否同时是3和5的倍数,不然会在判断3的时候就直接判断为3的结果 

    class Solution:
        def fizzBuzz(self, n: int) -> List[str]:
            L = []
            for i in range(1,n+1):
                if i % 15 == 0 :
                    L.append('FizzBuzz') 
                elif i % 3 == 0 :
                    L.append('Fizz') 
                elif i % 5 == 0 :
                    L.append('Buzz') 
    
                else:
                    L.append(str(i))
            return L
  • 相关阅读:
    4.文本规范化处理
    2.自动文本分类
    3.文本分类的蓝图
    1.什么是文本分类
    2.文本规范化
    Python 处理和理解文本
    1.文本切分
    验证码识别
    随机函数
    Java编程思想笔记(多态)
  • 原文地址:https://www.cnblogs.com/LLLLgR/p/14961074.html
Copyright © 2011-2022 走看看