Menu
CoddyTech

无递归的记忆化

Coddy 动态规划入门 课程的第 5 课,共 15 课。

在上一课中,我们学习了记忆化,以及它如何帮助降低递归答案的时间复杂度。在本课中,我们将探索如何结合使用递归和记忆化,更高效地解决问题。

递归是一种编程技巧,函数通过调用自身来解决问题。递归答案可能非常优雅、直观,但效率也可能不高,尤其是在使用相同参数多次调用同一个函数时。这时就可以使用记忆化。通过存储之前函数调用的结果,我们可以避免重复计算,并显著提升递归答案的性能。

challenge icon

挑战

简单

假设你每次可以爬 1 级或 2 级台阶。 

编写一个名为 count_ways 的函数,它接收一个整数 n,并返回爬上有 n 级台阶的楼梯有多少种方法。

这个函数应使用记忆化,以避免重复计算。

这个挑战中不要使用递归!

亲手试试

def count_ways(n):
    # TODO:在这里编写你的代码

动态规划入门中的所有课

自己练习: Python 在线编译器