![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
ChuanYang Chen
Christian,Front-end engineer,C++ developer
展开
-
最长公共子序列 - 北京大学郭炜 动态规划代码详解
最长公共子序列 - 北京大学郭炜 动态规划代码详解 解题思路: 该题可用动态规划解决。动态规划需要我们找出子问题。 假设我们输入两个字符串: ACTTGACC CGTT 那么如何通过动态规划算出其最大公共子序列的长度呢? 建立如上二维数组,我们可以知道: A和C的最长公共子序列为 0; AC和C的最长公共子序列为 1; ACT和C的最长公共子序列为 1; …… ACTTGACC和C的最长公共子序列为 1; A到CG的最长公共子序列为 0; AC到CG的最长公共子序列为 1; …… ACTTG原创 2020-10-15 20:37:00 · 1143 阅读 · 0 评论 -
北京大学郭炜-最长上升子序列 动态规划讲解
北京大学郭炜-最长上升子序列 动态规划讲解 问题原型: 解题思路: 找子问题,题目要求我们求1~n的最长上升子序列的长度,那我们想一想:1-2个元素的最长上升子序列的长度是多少,第1个元素的最长上升子序列又是多少? 假设我们输入一个序列: 9 2 7 1 5 6 4 3 8 9 显然 第1个元素的最长上升子序列的长度为1 1-2个元素的最长上升子序列为(2 7),长度为2 1-3个元素的最长上升子序列为(2 7)(2 1),长度为2 1-4个元素的最长上升子序列有(2 7)(2 1)(2 5)(1 5)原创 2020-10-14 19:20:51 · 312 阅读 · 0 评论