题目描述
题目叭叭说了一大堆,其实意思就是让你在n个字符串中找到一个最长的公共子串,如果长度小于3输出:no significant commonalities
否则输出最长的子串即可。
解题思路
首先将第一个串分解,把其所有的子串作为kmp的模式串,在剩余的字符串中查找,如果剩余的字符串中都存在该模式串,就更新答案(公共子串的长度 和 公共子串)。
最后根据题目要求输出即可。
注意如果在过程中出现同为k的子串,则按字典序小的为准。
如果不了解KMP,可以查看博主的另一篇博文 KMP算法详解【ORZ式教学】
代码部分
#include <iostream>
#include <string>
using namespace