最长公共子串,动态规划,时间O(mn),空间O(min(m,n)*k), k为最长公共子序列长度(超时) 分析过程类似于:https://www.nowcoder.com/discuss/388075528203378688公共子串条件是:同时含有并且连续([s1[i-1], s1[i]]与[s2[j-1], s1[j]]连续),存在很多局部情况,所以原问题的解不一定包含所有子问题的解,直接以最长公共子串为状态不好互相转换。以包含(i,j)点值的局部公共子串为状态,再维护一个最大最长公共子串。遍历m*n空间搜索满足条件的点,如果s1[i]=s2[j],则同时含有的条件满足,现在只需要找到与之连...