前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LeetCode 412:Fizz Buzz(3/5倍数)

LeetCode 412:Fizz Buzz(3/5倍数)

作者头像
后台技术汇
发布2022-05-30 09:34:10
2480
发布2022-05-30 09:34:10
举报
文章被收录于专栏:后台技术汇

Together for a Shared future

一起向未来

今天我们看一道题目《412.FuzzBuzz》。

题目描述

给你一个整数 n ,找出从 1 到 n 各个整数的 Fizz Buzz 表示,并用字符串数组 answer(下标从 1 开始)返回结果,其中:

  1. answer[i] == "FizzBuzz" 如果 i 同时是 3 和 5 的倍数。
  2. answer[i] == "Fizz" 如果 i 是 3 的倍数。
  3. answer[i] == "Buzz" 如果 i 是 5 的倍数。
  4. answer[i] == i (以字符串形式)如果上述条件全不满足。

示例 1 :

代码语言:javascript
复制
输入:n = 3
输出:["1","2","Fizz"]

示例 2:

代码语言:javascript
复制
输入:n = 5
输出:["1","2","Fizz","4","Buzz"]

示例 3:

代码语言:javascript
复制
输入:n = 15
输出:["1","2","Fizz","4","Buzz","Fizz","7","8","Fizz","Buzz","11","Fizz","13","14","FizzBuzz"]

提示:

  • 1 <= n <= 10^4

解题

代码语言:javascript
复制
    /**
     * 执行用时:1 ms, 在所有 Java 提交中击败了99.92%的用户
     * 内存消耗:42.2 MB, 在所有 Java 提交中击败了21.04%的用户
     * @param n
     * @return
     */
    public static List<String> fizzBuzz(int n) {
        List<String> result = new LinkedList<String>();
        for (int i = 1; i <= n; i++) {
            if (i % 3 == 0 && i % 5 == 0) {
                result.add("FizzBuzz");
            } else if (i % 3 == 0) {
                result.add("Fizz");
            } else if (i % 5 == 0) {
                result.add("Buzz");
            } else {
                result.add(String.valueOf(i));
            }
        }

        return result;
    }

复杂度分析

1)时间复杂度:O(n)。需要遍历从 1 到 n 的每个整数,对于每个整数 i,生成 answer[i] 的时间复杂度是 O(1)。

2)空间复杂度:O(1)。注意返回值不计入空间复杂度。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 后台技术汇 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档