【Java】LRS最小重复子串

原创 2016年05月30日 20:57:32
public class LRS {
    public static void main(String[] args) {
        String X = "ABABABA";
        System.out.println(nativeLRS(X));
    }

    public static String nativeLRS(String x) {
        int length = x.length();
        int maxLength = 0;
        String max = null;
        for (int i =0; i < length; i++) {
            int len = 0;
            int k = i;
            for (int j = i+1; j < length; j++) {
                len = statLen(x, k, j);
                if (len > maxLength) {
                    maxLength = len;
                    max = x.substring(k, len);
                }
            }
        }
        return max;
    }

    public static int statLen(String x, int k, int j) {
        int cur_len = 0;
        while(k < x.length() && j < x.length() && x.charAt(k) == x.charAt(j)) {
            k++;
            j++;
            cur_len++;
        }
        return cur_len;
    }
}

相关文章推荐

Lintcode 最小子串覆盖

给定一个字符串source和一个目标字符串target,在字符串source中找到包括所有目标字符串字母的子串。 说明 在答案的子串中的字母在目标字符串中是否需要具有相同的顺序? ——不需要。 ...
  • Hk_john
  • Hk_john
  • 2017年03月16日 21:21
  • 371

Java实现-最小子串覆盖

给定一个字符串source和一个目标字符串target,在字符串source中找到包括所有目标字符串字母的子串。  注意事项 如果在source中没有这样的子串,返回"",如果有多个这...

寻找最长不重复子串

  • 2017年06月23日 18:21
  • 851B
  • 下载

求最大不重复子串(Java)

一个经典问题,就是求字符串中不包含重复字符的最大子串。如果有多个这样的子串,则输出第一个。 我的思路其实也就是从头比较到尾来找,只是中间加了一些判断条件进行了优化。具体流程(先转化成char[] c...

(笔试前复习)java-两种方法求第一个最长的可重复子串

import java.util.Arrays; import java.util.Collections; import java.util.List; public ...

poj 1743 Musical Theme(不可重叠的最长重复子串,后缀数组)

题目:http://poj.org/problem?id=1743 题目大意:就是给你 n 个数字,现在要选取一个子串作为主题,要求,这个主题的长度要 >= 5,然后重复的主题直接不能有重叠的地方,...

poj 3261 Milk Patterns(后缀数组-最长重复子串)

Description Farmer John has noticed that the quality of milk given by his cows varies from day to d...

最长重复子串

#include #include #include #define MAXN 5000000 char c[MAXN], *a[MAXN]; int comlen(char *p, ch...
  • ted522
  • ted522
  • 2013年04月28日 00:10
  • 425

poj 1743 Musical Theme(不可重叠最长重复子串)

Musical Theme Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 19435   ...
  • WEYuLi
  • WEYuLi
  • 2014年11月18日 18:31
  • 488
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【Java】LRS最小重复子串
举报原因:
原因补充:

(最多只允许输入30个字)