问题描述
给出两个字符串,找到最长公共子串,并返回其长度。
Example :
给出A=“ABCD”,B=“CBCE”,返回 2 牛客地址 LintCode地址 问题分析 与 最长公共子序列(Longest Common Subsequence)问题 不同,该题是求最长公共子串的长度,子串必须要求连续,而子序列则可以不连续。针对子串这一特点,设置的状态也有所不同。 最长公共子序列是属于那种最优子结构问题,而最长公共子串是类似于子数组那种套路问题:先求解以nums[i]为开头或者结尾的子数组中的最优,然后遍历所有的nums[i],在上述最优中优中选优。 给出A=“ABC
给出A=“ABCD”,B=“CBCE”,返回 2 牛客地址 LintCode地址 问题分析 与 最长公共子序列(Longest Common Subsequence)问题 不同,该题是求最长公共子串的长度,子串必须要求连续,而子序列则可以不连续。针对子串这一特点,设置的状态也有所不同。 最长公共子序列是属于那种最优子结构问题,而最长公共子串是类似于子数组那种套路问题:先求解以nums[i]为开头或者结尾的子数组中的最优,然后遍历所有的nums[i],在上述最优中优中选优。 给出A=“ABC