← Static tasks

412. Fizz Buzz

leetcode easy

#array#csharp#easy#leetcode#string

Task

Учитывая целое число n, верните строковый массив answer (с индексом 1), где: answer[i] == "FizzBuzz", если i делится на 3 и 5. answer[i] == "Fizz", если i делится на 3. answer[i] == "Buzz", если i делится на 5. answer[i] == i (как строка), если ни одно из перечисленных условий не верно.

Пример:

Input: nums = [1,2,2]

Output: [[],[1],[1,2],[1,2,2],[2],[2,2]]

C# solution

matched/original
using System;
using System.Collections.Generic;
public class Solution {
    public IList<string> FizzBuzz(int n) {
        List<string> answer = new List<string>();
        for (int i = 1; i <= n; i++) {
            if (i % 3 == 0 && i % 5 == 0) {
                answer.Add("FizzBuzz");
            } else if (i % 3 == 0) {
                answer.Add("Fizz");
            } else if (i % 5 == 0) {
                answer.Add("Buzz");
            } else {
                answer.Add(i.ToString());
            }
        }
        return answer;
    }
}

C++ solution

auto-draft, review before submit
#include <bits/stdc++.h>
using namespace std;

// Auto-generated C++ draft from the C# solution. Review containers, LINQ and helper types before submit.
class Solution {
public:
    public vector<string> FizzBuzz(int n) {
        List<string> answer = new List<string>();
        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(i.ToString());
            }
        }
        return answer;
    }
}

Java solution

matched/original
import java.util.ArrayList;
import java.util.List;

public class Solution {
    public List<String> fizzBuzz(int n) {
        List<String> answer = new ArrayList<>();
        for (int i = 1; i <= n; i++) {
            if (i % 3 == 0 && i % 5 == 0) {
                answer.add("FizzBuzz");
            } else if (i % 3 == 0) {
                answer.add("Fizz");
            } else if (i % 5 == 0) {
                answer.add("Buzz");
            } else {
                answer.add(String.valueOf(i));
            }
        }
        return answer;
    }
}

JavaScript solution

matched/original
function fizzBuzz(n) {
    const answer = [];
    for (let i = 1; i <= n; i++) {
        if (i % 3 === 0 && i % 5 === 0) {
            answer.push("FizzBuzz");
        } else if (i % 3 === 0) {
            answer.push("Fizz");
        } else if (i % 5 === 0) {
            answer.push("Buzz");
        } else {
            answer.push(i.toString());
        }
    }
    return answer;
}

Python solution

matched/original
def fizzBuzz(n):
    answer = []
    for i in range(1, n + 1):
        if i % 3 == 0 and i % 5 == 0:
            answer.append("FizzBuzz")
        elif i % 3 == 0:
            answer.append("Fizz")
        elif i % 5 == 0:
            answer.append("Buzz")
        else:
            answer.append(str(i))
    return answer

Go solution

matched/original
package main

import (
    "strconv"
)

func fizzBuzz(n int) []string {
    answer := make([]string, n)
    for i := 1; i <= n; i++ {
        switch {
        case i % 3 == 0 && i % 5 == 0:
            answer[i-1] = "FizzBuzz"
        case i % 3 == 0:
            answer[i-1] = "Fizz"
        case i % 5 == 0:
            answer[i-1] = "Buzz"
        default:
            answer[i-1] = strconv.Itoa(i)
        }
    }
    return answer
}

Explanation

Algorithm

Создайте пустой список для хранения результата.

Пройдите по всем числам от 1 до n и для каждого числа выполните проверку: Если число делится на 3 и на 5, добавьте "FizzBuzz". Если число делится на 3, добавьте "Fizz". Если число делится на 5, добавьте "Buzz". Если ни одно из условий не выполнено, добавьте само число как строку.

Верните полученный список.

😎