从零开始的Python ACM Ch.9:动态规划
例题:跳台阶假设你正在爬楼梯。需要 n 阶你才能到达楼顶。
每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?
示例 1
输入:n = 2 输出:2
解释:有两种方法可以爬到楼顶。
1 阶 + 1 阶
2 阶
示例 2:
输入:n = 3 输出:3
解释:有三种方法可以爬到楼顶。
1 阶 + 1 阶 + 1 阶
1 阶 + 2 阶
2 阶 + 1 阶
1 <= n <= 45
题解(递归法)解释:一个steps为n的问题可以看做是steps为n-1和steps为n-2的步骤和
12345678steps = int(input('Steps: ')) # 台阶数def degrade(steps): if steps == 1: return 1 if steps == 2: return 2 return degrade(steps - 1) + degrade(steps - 2)print(degrade(steps))
这个 ...