• [leetcode](4.21)3. 最长重复子串


    给定字符串 S,找出最长重复子串的长度。如果不存在重复子串就返回 0

    示例 1:

    输入:"abcd"
    输出:0
    解释:没有重复子串。
    

    示例 2:

    输入:"abbaba"
    输出:2
    解释:最长的重复子串为 "ab" 和 "ba",每个出现 2 次。
    

    示例 3:

    输入:"aabcaabdaab"
    输出:3
    解释:最长的重复子串为 "aab",出现 3 次。
    

    示例 4:

    输入:"aaaaa"
    输出:4
    解释:最长的重复子串为 "aaaa",出现 2 次。

    提示:

    1. 字符串 S 仅包含从 'a' 到 'z' 的小写英文字母。
    2. 1 <= S.length <= 1500
    class Solution {
        public int longestRepeatingSubstring(String S) {
            int ans = 0;
            for(int i = 0;i < S.length();i++)
                for(int l = ans;l < S.length()-i;l++)
                {
                    String sub = S.substring(i,i+l);
                    String fi = S.substring(i+1);
                    if(fi.indexOf(sub)!=-1)
                        ans=ans>l?ans:l;
                    else
                        break;
                }
            return ans;
        }
    }
  • 相关阅读:
    Poj2033
    CodeForces 540
    CodeForces 548
    LeetCode#2 Add Two Numbers
    CodeForces 544A
    POJ 2431Expedition
    HLG1116-选美大赛
    清华学堂 列车调度(Train)
    清华学堂 LightHouse
    清华学堂 Range
  • 原文地址:https://www.cnblogs.com/liusandao/p/10745616.html
Copyright © 2020-2023  润新知