Fizz Buzz
https://leetcode.com/problems/fizz-buzz/description/ | Easy |
Условие
Напиши программу, которая выводит числа от 1 до n. Но для чисел, кратных 3, выведи "Fizz" вместо числа, для чисел, кратных 5, выведи "Buzz". Для чисел, кратных и 3, и 5, выведи "FizzBuzz".
Примеры
Input:
n = 3Output:
n = 3
Input:
n = 5Output:
[“1”, “2”, “Fizz”, “4”, “Buzz”]
Input:
n = 15Output:
[“1”, “2”, “Fizz”, “4”, “Buzz”, “Fizz”, “7”, “8”, “Fizz”, “Buzz”, “11”, “Fizz”, “13”, “14”, “FizzBuzz”]
Решение
fun fizzBuzz(n: Int): List<String> {
val result = mutableListOf<String>()
for (i in 1..n) {
when {
i % 3 == 0 && i % 5 == 0 -> result.add("FizzBuzz") // Число кратно и 3, и 5
i % 3 == 0 -> result.add("Fizz") // Число кратно 3
i % 5 == 0 -> result.add("Buzz") // Число кратно 5
else -> result.add(i.toString()) // Число не кратно ни 3, ни 5
}
}
return result
}
Временная сложность
O(n), где n — входное значение, так как мы генерируем n элементов.
Пространственная сложность
O(n), так как результат хранит n строк.