LintCode 第一题fizz buzz

【题目】

给你一个整数n. 从1到n按照下面的规则打印每个数:

如果这个数被3整除,打印fizz

如果这个数被5整除,打印buzz

如果这个数能同时被3和5整除,打印fizz buzz

样例

比如n=15, 返回一个字符串数组:

["1", "2", "fizz", "4", "buzz", "fizz", "7", "8", "fizz", "buzz", "11", "fizz", "13", "14", "fizz buzz"]

【C++ 代码】

class Solution {
public:
    /**
     * param n: As description.
     * return: A list of strings.
     */
    vector<string> fizzBuzz(int n) {
        vector<string> results;
        for (int i = 1; i <= n; i++) {
            if (i % 15 == 0) {
                results.push_back("fizz buzz");
            } else if (i % 5 == 0) {
                results.push_back("buzz");
            } else if (i % 3 == 0) {
                results.push_back("fizz");
            } else {
                results.push_back(to_string(i));
            }
        }
        return results;
    }
};

【我的错误】

vector 属于 STL,相当于一个高级、变长的数组,需要#include<vector>

应该阅读清楚题意,当能跟被3且被5 整除时输出 ‘fizz buzz‘

在循环里面,应该使用自增的 i 进行判断、输出,我错输入成为 n ,导致输出一直是 ‘fizz buzz‘

vector::push_back(n) 是错误的,应该将 int n 转化成 string ,如 to_string(i)

时间: 2024-12-26 20:29:24

LintCode 第一题fizz buzz的相关文章

Lintcode 9.Fizz Buzz 问题

------------------------ AC代码: class Solution { /** * param n: As description. * return: A list of strings. */ public ArrayList<String> fizzBuzz(int n) { ArrayList<String> results = new ArrayList<String>(); for (int i = 1; i <= n; i++

LintCode (9)Fizz Buzz

下面是AC代码,C++风格: 1 class Solution { 2 public: 3 vector<string> fizzBuzz(int N) { 4 vector<string> Answer; 5 for(int i = 1;i <= N;i++) { 6 if(i % 15 == 0) { 7 Answer.push_back("fizz buzz"); 8 } else if(i % 3 == 0) { 9 Answer.push_bac

Lintcode: Fizz Buzz

Given number n. Print number from 1 to n. But: when number is divided by 3, print fizz; when number is divided by 5, print buzz; when number is divided by both 3 and 5, print fizz buzz. Example If n=15, you should return ["1", "2", &qu

lintcode容易题1-10题

难度系数排序,容易题1-10题: Cosine Similarity new  Fizz Buzz  O(1)检测2的幂次  x的平方根  不同的路径  不同的路径 II  两个字符串是变位词  两个链表的和 中位数 主元素 Cosine Similarity 题目: Cosine similarity is a measure of similarity between two vectors of an inner product space that measures the cosine

Lintcode9 Fizz Buzz solution 题解

[题目描述] Given number n. Print number from 1 to n. But: when number is divided by 3, print "fizz". when number is divided by 5, print "buzz". when number is divided by both 3 and 5, print "fizz buzz". 给你一个整数n. 从 1 到 n 按照下面的规则打印

动态规划--LintCode简单题

1.爬楼梯 题目:假设你正在爬楼梯,需要n步你才能到达顶部.但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部? 分析:一次只能爬一步或者两步,所以走i步可由走i-1步的方法数和走i-2步的方法数相加获得: 设dp[i]为走i步的方法数目,则dp[i]=dp[i-1]+dp[i-2]; 注意:边界问题,由上面的方程可知道 i 由2开始,且dp[0]=dp[1]=1; 代码: class Solution {public:    /**     dp[i]=dp[i-1]+dp[i-2]

[容易]Fizz Buzz 问题

题目来源:http://www.lintcode.com/zh-cn/problem/fizz-buzz/ 可以accept的程序如下: 1 class Solution { 2 public: 3 /** 4 * param n: As description. 5 * return: A list of strings. 6 */ 7 vector<string> fizzBuzz(int n) { 8 vector<string> results; 9 for (int i

李宏毅 Tensorflow解决Fizz Buzz问题

提出问题 一个网友的博客,记录他在一次面试时,碰到面试官要求他在白板上用TensorFlow写一个简单的网络实现异或(XOR)功能.这个本身并不难,单层感知器不能解决异或问题是学习神经网络中的一个常识,而简单的两层神经网络却能将其轻易解决.但这个问题的难处在于,我们接触TensorFlow通常直接拿来写CNN,或者其他的深度学习相关的网络了,而实现这种简单网络,基本上从未做过:更何况,要求在白板上写出来,如果想bug free,并不是容易的事儿啊. 数据 李宏毅老师对数据进行了如下分析 对数字1

2016/1/12 第一题 输出 i 出现次数 第二题 用for循环和if条件句去除字符串中空格 第三题不用endwith 实现尾端字符查询

1 import java.util.Scanner; 2 3 4 public class Number { 5 6 private static Object i; 7 8 /* 9 *第一题 mingrikejijavabu中字符“i” 出现了几次,并将结果输出*/ 10 public static void main(String[] args) { 11 12 String r ="imingrikejijavabi"; 13 14 15 //第一种 截取 16 int a=