Skip to content

Commit

Permalink
Merge pull request #122 from kukayiyi/main
Browse files Browse the repository at this point in the history
修改动态规划-线性动态规划-线性dp规划(一)中最长重复子数组条件描述
  • Loading branch information
itcharge authored Jun 27, 2024
2 parents bdf258d + 68a23b7 commit cbcaba0
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions Contents/10.Dynamic-Programming/03.Linear-DP/01.Linear-DP-01.md
Original file line number Diff line number Diff line change
Expand Up @@ -588,7 +588,7 @@ class Solution:

###### 2. 定义状态

定义状态 $dp[i][j]$ 为:「 $nums1$ 中前 $i$ 个元素为子数组($nums1[0]...nums2[i - 1]$)」和「 $nums2$ 中前 $j$ 个元素为子数组($nums2[0]...nums2[j - 1]$)」的最长公共子数组长度。
定义状态 $dp[i][j]$ 为:「 $nums1$ 中以第 $i - 1$ 个元素结尾的子数组 」和「 $nums2$ 中以第 $j - 1$ 个元素结尾的子数组 」的最长公共子数组长度。

###### 3. 状态转移方程

Expand All @@ -597,12 +597,12 @@ class Solution:

###### 4. 初始条件

- 当 $i = 0$ 时,$nums1[0]...nums1[i - 1]$ 表示的是空数组,空数组与 $nums2[0]...nums2[j - 1]$ 的最长公共子序列长度为 $0$,即 $dp[0][j] = 0$。
- 当 $j = 0$ 时,$nums2[0]...nums2[j - 1]$ 表示的是空数组,空数组与 $nums1[0]...nums1[i - 1]$ 的最长公共子序列长度为 $0$,即 $dp[i][0] = 0$。
- 当 $i = 0$ 时,$nums1[0]...nums1[i - 1]$ 表示的是空数组,空数组与 $nums2$ 中任意子数组的最长公共子序列长度为 $0$,即 $dp[0][j] = 0$。
- 当 $j = 0$ 时,$nums2[0]...nums2[j - 1]$ 表示的是空数组,空数组与 $nums1$ 中任意子数组的最长公共子序列长度为 $0$,即 $dp[i][0] = 0$。

###### 5. 最终结果

- 根据状态定义, $dp[i][j]$ 为:「 $nums1$ 中前 $i$ 个元素为子数组($nums1[0]...nums2[i - 1]$)」和「 $nums2$ 中前 $j$ 个元素为子数组($nums2[0]...nums2[j - 1]$)」的最长公共子数组长度。在遍历过程中,我们可以使用 $res$ 记录下所有 $dp[i][j]$ 中最大值即为答案。
- 根据状态定义, $dp[i][j]$ 为:「 $nums1$ 中以第 $i - 1$ 个元素结尾的子数组 」和「 $nums2$ 中以第 $j - 1$ 个元素结尾的子数组 」的最长公共子数组长度。在遍历过程中,我们可以使用 $res$ 记录下所有 $dp[i][j]$ 中最大值即为答案。

##### 思路 1:代码

Expand Down Expand Up @@ -742,4 +742,4 @@ class Solution:
## 参考资料

- 【书籍】算法竞赛进阶指南
- 【文章】[动态规划概念和基础线性DP | 潮汐朝夕](https://chengzhaoxi.xyz/1a4a2483.html)
- 【文章】[动态规划概念和基础线性DP | 潮汐朝夕](https://chengzhaoxi.xyz/1a4a2483.html)

0 comments on commit cbcaba0

Please sign in to comment.