From 624bc08d178b131616cea9037fd72587aa373048 Mon Sep 17 00:00:00 2001 From: ZhouTimeMachine <99057383+ZhouTimeMachine@users.noreply.github.com> Date: Mon, 17 Jun 2024 21:17:01 +0800 Subject: [PATCH] fix python bug - basic_lis --- docs/courses/python/hw.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/courses/python/hw.md b/docs/courses/python/hw.md index 33b7dcf..c0a93f0 100644 --- a/docs/courses/python/hw.md +++ b/docs/courses/python/hw.md @@ -2335,13 +2335,13 @@ print(basic_lis(L)) ``` ??? general "Answer" - `6` + `7` 这个程序实现了最长递增子序列 (Longest Increasing Subsequence, LIS) 问题的动态规划算法。`l` 是一个列表,`l[i]` 表示以 `seq[i]` 结尾的最长递增子序列的长度。 算法的基本思想是,对于每个元素 `seq[cur]`,`l[cur]` 的基本值是 1,对于所有比 `cur` 小的 `pre`,如果 `seq[pre] < seq[cur]`,那么到 `pre` 为止的递增子序列就可以在后面接上一个 `seq[cur]`,于是出现新的递增子序列长度 `1+l[pre]`。遍历之前的元素 `seq[pre]`,找到最大的满足 `seq[pre] < seq[cur]` 的 `1+l[pre]`,就是 `l[cur]` 的值。 - 对于输入 `L`,最长递增子序列是 `[49, 64, 66, 68, 87, 96]`,长度为 6。 + 对于输入 `L`,最长递增子序列是 `[49, 64, 66, 68, 87, 96, 99]`,长度为 7。 **Q15-4-5.** 下面程序用动态规划法快速计算斐波那契数,在下划线处填上正确的表达式。