class Solution:
def findLength(self, nums1: List[int], nums2: List[int]) -> int:
# ⽤⼆维数组可以记录两个字符串的所有⽐较情况
# dp[i][j]: 以下标 i-1 为结尾的A,和以下标 j-1 为结尾的B,
# 最⻓重复⼦数组⻓度为dp[i][j]
result = 0
dp = [[0 for _ in range(len(nums2)+1)] for _ in range(len(nums1)+1)]
for i in range(1, len(nums1)+1):
for j in range(1, len(nums2)+1):
if nums1[i-1] == nums2[j-1]: ## 递推
dp[i][j] = dp[i-1][j-1]+ 1
if dp[i][j] > result: result = dp[i][j]
return result
dp[i][j]
如果表示: 以下标 i 为结尾的A,和以下标 j 为结尾的B, 的最⻓重复⼦数组⻓度 - > 初始化会更麻烦 (dp[i][0]
,dp[0][j]
)