https://leetcode.com/problems/n-th-tribonacci-number/description/ | Easy |
---|
Числа Трибоначчи задаются так:
T0 = 0, T1 = 1, T2 = 1, и Tn+3 = Tn + Tn+1 + Tn+2 для n >= 0.
Найди n
-е число Трибоначчи.
Input:
n = 4Output:
4Explanation:
T3 = 2, T4 = 4
Input:
n = 25Output:
1389537
fun tribonacci(n: Int): Int {
if (n == 0) return 0
if (n == 1 || n == 2) return 1
var a = 0
var b = 1
var c = 1
var d = 0
for (i in 3..n) {
d = a + b + c // сумма трёх предыдущих чисел
a = b // сдвигаем числа для следующего шага
b = c
c = d
}
return c
}
O(n), где n — заданное число.
O(1), дополнительной памяти почти нет.