算法:Fizz Buzz解题思路

现在有一个整数,要求返回一个数组,数组内容如下:

answeri == "FizzBuzz" 如果 i 同时是 3 和 5 的倍数。

answeri == "Fizz" 如果 i 是 3 的倍数。

answeri == "Buzz" 如果 i 是 5 的倍数。

answeri == i

举例:

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

解法一:

cpp 复制代码
class Solution {
public:
    vector<string> fizzBuzz(int n) {
        vector<string> answer(n);
        for(int i=1;i<=n;i++)
        {
            if(i%3==0&&i%5==0)
            {
                answer[i-1]="FizzBuzz";
            }
            else if(i%3==0)
            {
                answer[i-1]="Fizz";
            }
            else if(i%5==0)
            {
                answer[i-1]="Buzz";
            }
            else 
            {
                answer[i-1]=to_string(i);
            }
        }
        return answer;
        
    }
};

解法二:不用担心下标

cpp 复制代码
class Solution {
public:
    vector<string> fizzBuzz(int n) {
        vector<string> answer; // 依然为空,但我不直接取下标
        for (int i = 1; i <= n; i++) {
            if (i % 3 == 0 && i % 5 == 0) {
                answer.push_back("FizzBuzz"); // 从尾部追加,绝对安全
            } else if (i % 3 == 0) {
                answer.push_back("Fizz");
            } else if (i % 5 == 0) {
                answer.push_back("Buzz");
            } else {
                answer.push_back(to_string(i));
            }
        }
        return answer;
    }
};

注意点:

空数组不能用 下标 赋值 ------ 必须 vector<string> answer(n); 或者用 push_back。

FizzBuzz 必须从 1 数到 n,不是从 0。

字符串数组赋值右边必须是字符串,整数要用 to_string() 转换。

相关推荐
带多刺的玫瑰3 小时前
Leecode#4刷题之寻找两个正序数组的中位数
java·前端·算法
土司大王4 小时前
LeetCode hot100——除了自身以外数组的乘积
数据结构·算法·leetcode
IvanCodes4 小时前
RAG 实战教程(三):向量数据库检索算法,KNN、IVF、HNSW 与 Faiss 实战
人工智能·算法·agent
阿无,4 小时前
布隆过滤器
java·算法·哈希算法
徒慕风流4 小时前
激光雷达回波信号滤波与时刻鉴别算法:原理、代码实现与仿真验证
python·算法·激光雷达
这料鬼有毒4 小时前
二刷hot100-70.爬楼梯
算法
CIO_Alliance5 小时前
AI算法系列(2)| 决策树与随机森林XGBoost:企业AI化转型中的树模型选型逻辑
大数据·人工智能·算法·决策树·系统集成·企业cio联盟·企业级ai化转型
ZC跨境爬虫5 小时前
LeetCode 13. 罗马数字转整数(多解法详解 + Java Python 实现)
java·python·leetcode
.道阻且长.5 小时前
10.LeetCode算法习题讲解--滑动窗口--最大连续为一的个数
算法·leetcode·职场和发展
学习中.........6 小时前
Karpathy nanoGPT 教程到底讲了什么
人工智能·算法·语言模型