首页 > 编程知识 正文

leetcode top100,leetcode317

时间:2023-05-05 18:29:22 阅读:136963 作者:3318

文章作者: Tyan

博客: noahsnail.com | CSDN |简单的书

1 .描述

2. Solution **分析: * *求两个数组的最长连续子串。 典型的动态规划问题,动态规划问题最重要的是找到状态转移方程,在确定状态转移方程之前必须先确定状态。 双层循环允许您遍历两个阵列的所有可能组合,其中dp[i][j]是第一个阵列中前I个元素和第二个阵列中前j个元素的最长连续子序列长度。 在初始状态下,所有最长子序列的长度都是0。 如果循环开始,nums1[i]=nums2[j],则最大长度序列的长度必须为1,这取决于前一个dp[i-1][j-1],nums1[i-1]=nums2[j-1] 因为dp[1][1]=dp[0][0] 1,所以创建初始状态矩阵时在长度和宽度上加1。 最后,从所有可能的情况中找出最长的连续子序列的长度。

版本1 class solution 3360 deffindlength (self,nums1: List[int], nums 23360 list [ int ]-int : m=len (num S1 ) n=len ) numS2 ) DP=[0]*(n1 ) forIinrange(m1 ) ] for I in range (m 333330 )

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。