[leetcode] 412. Fizz Buzz 解题报告

2023-11-16

题目链接: https://leetcode.com/problems/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"
]

思路: 很简单的一题, 只要判断每个数是否是3或5的倍数即可. 但是听说还有一个follow-up, 就是不能用%和/要怎么办? 这种情况可以设置三个累加器, 分别用来累加统计3, 5, 15的倍数, 也就是三个累加器分别到了3, 5, 15就置0. 如此即可.

两份代码如下:

class Solution {
public:
    vector<string> fizzBuzz(int n) {
        vector<string> ans;
        for(int i = 1; i <= n; i++){
            if(i%3==0 && i%5==0) ans.push_back("FizzBuzz");
            else if(i%3==0) ans.push_back("Fizz");
            else if(i%5==0) ans.push_back("Buzz");
            else ans.push_back(to_string(i));
        }
        return ans;
    }
};

class Solution {
public:
    vector<string> fizzBuzz(int n) {
        vector<string> ans;
        int cnt3 = 0, cnt5 = 0, cnt15 = 0;
        for(int i = 1; i <= n; i++){
            cnt3++, cnt5++, cnt15++;
            if(cnt15 ==15) ans.push_back("FizzBuzz");
            else if(cnt3 == 3) ans.push_back("Fizz");
            else if(cnt5 == 5) ans.push_back("Buzz");
            else ans.push_back(to_string(i));
            if(cnt3==3) cnt3 = 0;
            if(cnt5 == 5) cnt5 = 0;
            if(cnt15 == 15) cnt15 = 0;
        }
        return ans;
    }
};


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[leetcode] 412. Fizz Buzz 解题报告 的相关文章

  • 计算标签云中标签字体大小的公式是什么?

    我有一个标签云 我需要知道如何更改最常用标签的字体大小 我需要设置最小字体大小和最大字体大小 您可以使用线性或对数评估与某个标签相对于最大标签关联的项目数量 将其乘以最小和最大字体大小之间的差值 然后将其添加到最小字体大小 例如 伪代码中的
  • 为什么在 Javascript 中添加两位小数会产生错误的结果? [复制]

    这个问题在这里已经有答案了 可能的重复 JavaScript 的数学有问题吗 https stackoverflow com questions 588004 is javascripts math broken 为什么 JS 搞砸了这个简
  • 如何在给定目标大小的情况下在 python 中调整图像大小,同时保留纵横比?

    首先 我觉得这是一个愚蠢的问题 对此感到抱歉 目前 我发现计算最佳缩放因子 目标像素数的最佳宽度和高度 同时保留纵横比 的最准确方法是迭代并选择最佳缩放因子 但是必须有更好的方法来做到这一点 一个例子 import cv2 numpy as
  • 确定范围是否重叠

    给定两个具有整数开始时间和结束时间的事件 E1 s1 e1 E2 s2 e2 实现快速布尔检查以查看事件是否重叠 我有解决方案 但我很想看看其他人想出了什么 编辑 好的 这是我的解决方案 e1 gt s2 s1 gt s2 e2 lt s1
  • 四舍五入到 25、50、75、100

    我不是一个数学爱好者 所以我很难想出一个将小数四舍五入到 25 50 75 和 100 的计算方法 这不会是典型的四舍五入 因为小数不会减少但只增加了 Example 如果 11 12 则舍入为 11 25 如果为 11 34 则舍入为 1
  • Python 小数.InvalidOperation 错误

    当我运行这样的东西时 我总是收到此错误 from decimal import getcontext prec 30 b 2 3 Decimal b Error Traceback most recent call last File Te
  • 具有非常大的数字的除法

    我只是想知道在处理大数字时有哪些不同的除法策略 我所说的大数字是指 50 位数字 例如 9237639100273856744937827364095876289200667937278 82637448262718273966299344
  • 使用C标准数学库精确计算标准正态分布的CDF

    标准 C 数学库不提供计算标准正态分布 CDF 的函数 normcdf 然而 它确实提供了密切相关的函数 误差函数 erf 和互补误差函数 erfc 计算 CDF 的最快方法通常是通过误差函数 使用预定义常量 M SQRT1 2 来表示 d
  • 两组数的最小公等和及组合

    我目前正在用 C 创建一个程序 该程序将查找两组数字的尽可能低的相等总和 您可以在其中根据需要多次重复这些数字 比如我有这两套 10 13 18 and 12 16 22 我能得到的最低金额是28 10 18 and 12 16 另一个例子
  • 两个整数乘积的模

    我必须找到c c a b mod m a b c m 是 32 位整数 但 a b 可以超过 32 位 我正在尝试找出一种计算 c 的方法 而不使用 long 或任何 gt 32 位的数据类型 有任何想法吗 如果m是质数 事情可以简化吗 注
  • 这个方法比 Math.random() 更快吗?

    我是一名初学者 目前已经开始开发一款使用粒子群优化算法的 Android 游戏 我现在正在尝试稍微优化我的代码 并且 for 循环中有相当多的 Math random 几乎一直在运行 所以我正在考虑一种方法来绕过并跳过所有 Math ran
  • 如何舍入、取整、取整、截断

    如何对 jq jq 1 5 1 a5b5cbe 中的数字进行舍入 取整 取整和截断 例如 与 mass 188 72 我想 mass 188 有地板 mass 189 与天花板和圆形 舍入示例 5 52 gt 6 5 50 gt 5 or
  • 重新创建 CSS3 过渡三次贝塞尔曲线

    在 CSS3 过渡中 您可以将计时函数指定为 cubic bezier 0 25 0 3 0 8 1 0 在该字符串中 您仅指定曲线上点 P1 和 P2 的 XY 因为 P0 和 P3 始终分别为 0 0 0 0 和 1 0 1 0 根据苹
  • 使用到达时间差对信号进行三边测量

    我在寻找或实现寻找信号源的算法时遇到一些麻烦 我的工作目标是找到声音发射器的位置 为了实现这一点 我使用了三个麦克风 我正在使用的技术是多点定位这是基于到达时间差 The 到达时间差使用发现每个麦克风之间互相关接收到的信号 我已经实现了算法
  • 从 x,y 屏幕空间坐标查找 2D 等距网格上的列、行(将方程转换为函数)

    我试图在屏幕空间点 x y 的二维等距网格中找到行 列 现在我几乎知道我需要做什么 即找到上图中红色向量的长度 然后将其与表示网格边界的向量的长度 由黑色向量表示 进行比较 现在我在数学堆栈交换中寻求帮助 以获得用于计算点 x y 与黑色边
  • java数学中的组合“N选择R”?

    java库中是否有内置方法可以为任何N R计算 N选择R 公式 实际上很容易计算N choose K甚至不需要计算阶乘 我们知道 公式为 N choose K is N N K K 因此 公式为 N choose K 1 is N N N
  • 如何将Excel中的每个条目转换为一行“矩阵”表

    我有类似的东西 1 2 3 a x o x b x x o c o o o 并想将其转换成像这样的线 1 a x 1 b x 1 c x 2 a o 2 b x 2 c o 3 a x 3 b o 3 c o 通过使用Excel文档中的公式
  • 优化重叠矩形的绘制

    我有很多矩形 有些与其他矩形重叠 每个矩形都有一个绝对 z 顺序和一个colour 每个 矩形 实际上是粒子效果 网格或纹理的轴对齐边界框 并且可能是半透明的 但只要您不尝试剔除其他矩形后面的矩形 就更容易抽象地思考彩色矩形 所以我将在问题
  • 埃拉托色尼筛法 - 实现返回一些非质数值?

    我用 Java 实现了埃拉托斯特尼筛法 通过伪代码 public static void sieveofEratosthenes int n boolean numArray numArray new boolean n for int i
  • 计算移动的球与移动的线/多边形碰撞的时间(2D)

    我有一个多边形 里面有一个移动的球 如果球撞到边界 它应该反弹回来 My current solution I split the polygon in lines and calculate when the ball hits the

随机推荐

  • 杭电ACM 第2036题

    include
  • Linux 定时备份mysql数据并同步到其他mysql服务器中

    备份还原操作 导出数据库 usr bin mysqldump u root pwd database gt database sql 导入数据库 mysql u root p database lt database sql 备份到压缩文件
  • Android 实现WebView

    activity main xml
  • Git首次提交代码到仓库步骤(资料)

    第一步 登陆码云 第二步 创建一个 新的项目 第三步 创建成功后到这个页面 Git 全局设置 git config global user name 意米 git config global user email 142453222851
  • 数据结构<1>时间复杂度详解和leetcode例题

    文章目录 什么是时间复杂度和空间复杂度 前言 算法效率 时间复杂度的计算 空间复杂度的计算 oj练习 什么是时间复杂度和空间复杂度 前言 算法效率 算法效率分析分为两种 第一种是时间效率 第二种是空间效率 时间效率被称为时间复杂度 而空间效
  • Java与WCF交互(一):Java客户端调用WCF服务

    第一步 生成WCF服务 新建WCF解决方案 分别添加三个项目 HelloTimeService 类库 HelloTimehost 控制台程序 HelloTimeClient 控制台程序 项目结构如图 各个项目的主要代码 service Ho
  • 无人机的基本知识

    一 无人机的定义 无人驾驶飞机是指由动力驱动 不搭载操作人员的一种空中飞行器 它依靠空气动力为飞行器提供升力 能够自主或遥控飞行 能携带多种任务设备 执行多种任务 可一次性或多次重复使用的无人驾驶航空器 简称无人机 Unmanned Aer
  • Java Web JSP开发模型

    看之前先点赞 1 JSP开发模型 为了方便使用JSP技术 SUN公司玮JSP技术提供了两种开发模型 JSP Mode1 和 JSP Mode2 JSP Mode1 JSP Mode2 我们将按照Model2思想来完成用户注册功能 1 创建项
  • LUA延时控制

    LUA延时控制 与C 交互实现 其它可参考方式 Lua封装延时执行函数 LUA的延时调用功能 Sleep Function 与C 交互实现 通过C 提供Sleep函数给LUA调用即可 可以任意实现 比如超过5秒再提示相应倒计时功能 if f
  • 听说你搞过架构设计?来,我这里有个系统设计一下...

    V xin ruyuan0330 获得600 页原创精品文章汇总PDF 目录 一 前情提示 二 选择性订阅部分核心数据 三 RabbitMQ的queue与exchange的绑定回顾 四 direct exchange实现消息路由 五 按需订
  • 【云原生

    目录 K8s 控制器 Replicaset 一 Replicaset 控制器 概念 原理解读 1 1 Replicaset 概述 1 2 Replicaset 工作原理 如何管理 Pod 二 Replicaset 资源清单文件编写技巧 三
  • centos 启用远程日志功能_CentOS7下搭建Rsyslog Server记录远程主机系统日志

    rsyslog是一个快速处理收集系统日志的开源程序 提供了高性能 安全功能和模块化设计 rsyslog 是syslog 的升级版 它将多种来源输入输出转换结果到目的地 rsyslog被广泛用于Linux系统以通过TCP UDP协议转发或接收
  • yaml数组解析_YAML详解

    1 YAML简介 YAML 即YAML Ain t Markup Language的缩写 YAML 是一种简洁的非标记语言 YAML以数据为中心 使用空白 缩进 分行组织数据 从而使得表示更加简洁易读 YAML的在线Demo这个YAML转化
  • 使用卷积神经网络(CNN)算法进行多变量时间序列预测的实战教程(Python)

    使用卷积神经网络 CNN 算法进行多变量时间序列预测的实战教程 Python 深度学习在多变量时间序列预测中展现了广泛的应用前景 其中卷积神经网络是最为经典的算法之一 本篇文章将通过一个实例 介绍如何使用卷积神经网络算法来预测交通流量情况
  • 21道常见Transformer面试题(GPT4帮你搞定)

    最近看到一篇关于Transfomer的面试题 写的挺好的 美中不足的是回答的有点简单 刚好我PLUS还没过期 就想着将问题放给无所不能的GPT4来解答 有什么问题欢迎留言私信我好及时修改 不能误人子弟嘿嘿 接下来一起瞧瞧吧 目录部分 按需查
  • Android学习之路3——数据库SQLite的使用以及Android申请权限

    Android学习之路3 数据库SQLite的使用以及Android申请权限 一 实验题目 数据存储 学习SQLite数据库的使用 学习ContentProvider的使用 复习Android的界面编程 二 实现内容 进入程序 可以选择单选
  • 【OpenCV】用Python进行缺陷检测和展示

    目录 OpenCV 使用Python进行缺陷检测和展示 图片数据预处理 展示检测结果 效果展示 完整代码如下 OpenCV 使用Python进行缺陷检测和展示 在工业生产中 为了保证产品质量 通常需要对生产线上的产品进行缺陷检测 在数字图像
  • Win 11 通过WSL 安装子系统Ubuntu 20.0.4 进行编译构建Android Aosp 源码

    Win 11 通过WSL 安装子系统Ubuntu 20 0 4 进行编译构建Android Aosp 源码 准备工作 win11 家庭版 通过WSL安装 虚拟子系统 ubuntu20 0 4 扩大挂载的虚拟硬盘 Swap 扩大处理 针对sw
  • ​java的jmap命令使用详解​

    jmap命令简介 jmap Java Virtual Machine Memory Map 是JDK提供的一个可以生成Java虚拟机的堆转储快照dump文件的命令行工具 除此以外 jmap命令还可以查看finalize执行队列 Java堆和
  • [leetcode] 412. Fizz Buzz 解题报告

    题目链接 https leetcode com problems fizz buzz Write a program that outputs the string representation of numbers from 1 to n