) рекурсией не линейно))) через хешмап не линейно через массив тоже не линейно )) что ему надо
package com.javarush.task.task39.task3904;
import com.google.common.collect.HashBiMap;
import java.util.Arrays;
import java.util.HashMap;
/*
Лестница
*/
public class Solution {
private static int n = 333;
public static void main(String[] args) {
System.out.println("The number of possible ascents for " + n + " steps is: " + numberOfPossibleAscents(n));
}
public static long numberOfPossibleAscents(int n) {
if (n < 0) {
return 0;
}
if (n == 0) {
return 1;
}
int[] accents = new int[n + 1];
accents[0] = 1;
accents[1] = 1;
accents[2] = 2;
accents[3] = 4;
for (int i = 4; i < n + 1; i++) {
accents[i] = accents[i - 3] + accents[i - 2] + accents[i - 1];
}
return accents[n];
}
}