【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;
    }
}

Java实现-最小子串覆盖

给定一个字符串source和一个目标字符串target,在字符串source中找到包括所有目标字符串字母的子串。  注意事项 如果在source中没有这样的子串,返回"",如果有多个这...
  • qq_14927217
  • qq_14927217
  • 2017年07月05日 10:56
  • 642

[pku3261]可重叠的k次最长重复子串

还是很懒,今天要贴很多代码就允许我懒一些吧。 给定一个字符串,求至少出现k次的最长重复子串,这k个子串可重叠。 算法分析: 这题的做法和上一题差不多,也是先二分答案,然后将后缀分成若干组。不同...
  • huangzhengdoc
  • huangzhengdoc
  • 2016年12月14日 13:11
  • 617

POJ3261——重复K次的子串

题意:给定长度为N的整数串,问至少重复K次的子串最长是多少,重复子串之间可以重迭。求出SA与Height数组,首先将问题转为判定性问题,即:给定长度L,问存不存在长度为L且重复K次的子串。然后二分搜索...
  • u012061345
  • u012061345
  • 2015年04月11日 22:35
  • 469

poj(2406)求最短重复子串-KMP

题意:求一个字符串的最短的重复子串; 解法:KMP求出Next数组,如果len-Next[len]是len的约数的话,             那么s[len-Next[len]]-s[l...
  • xiefubao
  • xiefubao
  • 2014年04月22日 21:33
  • 863

lintcode(32)最小子串覆盖

描述: 给定一个字符串source和一个目标字符串target,在字符串source中找到包括所有目标字符串字母的子串。 样例: 给出source = "ADOBECODEBANC",tar...
  • sunday0904
  • sunday0904
  • 2017年04月22日 10:06
  • 189

32.Minimum Window Substring-最小子串覆盖(中等题)

最小子串覆盖 题目给定一个字符串source和一个目标字符串target,在字符串source中找到包括所有目标字符串字母的子串。注意事项 如果在source中没有这样的子串,返回”“,如果有多个...
  • Tri_Color_Flag
  • Tri_Color_Flag
  • 2016年09月26日 00:49
  • 721

lintcode-最小子串覆盖-32

给定一个字符串source和一个目标字符串target,在字符串source中找到包括所有目标字符串字母的子串。 样例 给出source = "ADOBECODEBANC",target ...
  • ljlstart
  • ljlstart
  • 2015年09月10日 19:45
  • 697

求最大不重复子串(Java)

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

Java实现-最长无重复字符的子串

public class Solution { /** * @param s: a string * @return: an integer */ pu...
  • qq_14927217
  • qq_14927217
  • 2017年06月05日 22:27
  • 817

LintCode:M-最小子串覆盖

给定一个字符串source和一个目标字符串target,在字符串source中找到包括所有目标字符串字母的子串。  注意事项 如果在source中没有这样的子串,返回"",如果有多个这...
  • iyangdi
  • iyangdi
  • 2017年08月28日 20:41
  • 170
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【Java】LRS最小重复子串
举报原因:
原因补充:

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