Упражнения на Java: найдите способы, как вы можете подняться на вершину
Java Basic: упражнение 134 с решением
Напишите программу на Java, чтобы найти отличные способы подняться на вершину (n шагов, чтобы добраться до вершины) лестницы. Каждый раз вы можете подняться на 1 или 2 шага.
Пример: n = 5 a) 1 + 1 + 1 + 1 + 1 = 5 b) 1 + 1 + 1 + 2 = 5 c) 1 + 2 + 2 = 5 d) 2 + 2 + 1 = 5 e) 2 + 1 + 1 + 1 = 5 е) 2 + 1 + 2 = 5 г) 1 + 2 + 1 + 1 = 5 ч) 1 + 1 + 2 + 1 = 5
Иллюстрированная презентация:
Пример решения:
Java-код:
class Solution {
public static int climbStairs(int n) {
if (n <= 1) {
return 1;
}
int[] s_case = new int[n + 1];
s_case[0] = 1;
s_case[1] = 1;
for (int i = 2; i <= n; i++) {
s_case[i] = s_case[i - 1] + s_case[i - 2];
}
return s_case[n];
}
/* Driver program to test above functions */
public static void main(String[] args) {
int steps = 5;
System.out.println("Distinct ways can you climb to the top: "+climbStairs(steps));
}
}
Пример вывода:
Различными способами вы можете подняться на вершину: 8
Блок - схема:
Редактор кода Java:
Внесите свой код и комментарии через Disqus.
Предыдущий: Напишите программу на Java, чтобы найти путь сверху вниз в правом направлении, который минимизирует сумму всех чисел вдоль ее пути.
Далее: написать программу на Java для удаления дубликатов из отсортированного связанного списка
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования