「最优子结构」是什么意思
同一个小问题,又算了一遍 重算 记住 说一个问题有「最优子结构」,是指【0】。
开始练习 →
用 DP 要同时满足哪两条
同一个小问题,又算了一遍 重算 记住 一个问题能用动态规划,要同时具备【0】。
开始练习 →
「自顶向下」和「自底向上」差在哪
同一个小问题,又算了一遍 重算 记住 DP 的两种写法,区别是【0】。
开始练习 →
用 DP 要付什么代价
同一个小问题,又算了一遍 重算 记住 动态规划省下了重复计算,代价是【0】。
开始练习 →
爬十级楼梯有几种走法
同一个小问题,又算了一遍 重算 记住 每次能上 1 级或 2 级,爬到第 10 级一共有几种走法?运行下面这段程序: def climb(n): dp = [0] * (n + 1) dp[0] = 1 for i
开始练习 →
朴素递归的 fib 慢在哪
直接照定义写的递归 fib 很慢,因为【0】。
开始练习 →
递归树上的"重复"是怎么来的
递归树上出现重复的子问题,是因为【0】。
开始练习 →
朴素 fib 的调用次数怎么长
n 每加一,朴素 fib 的调用次数大致【0】。
开始练习 →
怎么确认一个递归有重叠子问题
要确认某个递归确实在重复计算,办法是【0】。
开始练习 →
⚠️ fib(3) 被算了多少遍
用朴素递归算 fib(12),数一数其中 fib(3) 这一个子问题被算了几遍。运行下面这段程序: def fib_hit(n, k, st): if n == k: st["h"] += 1
开始练习 →