求最长重复子串
摘要:
一、问题描述给定一个字符串,求出其最长重复子串例如:abcdabcd ,最长重复子串是 abcd最长重复子串可以重叠例如:abcdabcda ,这时最长重复子串是 abcda ,中间的 a 是被重叠的。二、分析1、直观的解法首先检测长度为 n - 1 的字符串情况,如果不存在重复则检测 n - 2, 一直递减下去,直到 1 。这种方法的时间复杂度是 O(N * N * N),其中包括三部分,长度纬度、根据长度检测的字符串数目、字符串检测。2、使用后缀数组后缀数组:例如对于字符串String str="banana"的后缀数组是a[0]="anana",a 阅读全文
posted @ 2012-09-27 17:25 飘飞的海 阅读(471) 评论(1) 推荐(0) 编辑