Advertisement

持续不断的子串搜索

阅读量:

本题来自2018深信服提前批笔试编程题部分。

题目描述:

重复子字符串指的是由两个完全相同的字符串依次连接构成的字符串,比如abcabc就是一个长度为6的重复子串,而abcba则无法构成重复子串。

对于任意给定的字符串,请协助小强确定其中最长的重复子串。

输入描述:

输入一个由数字与字母组成的字符串s,且其长度不超过1e4。

输出描述:

输出一个整数,用以表示字符串s中重复出现的最长子串的长度,若不存在任何重复子串则返回0。

示例:

输入

xabcabcx

输出

6

分析:该过程主要借助字符串的后缀子串进行处理,由于后缀子串能够间接体现所有可能的子字符串,因此在Java中实现如下。为使解释更为清晰,未严格按照题目要求进行输出,而是采用了更为详尽的方式呈现,以便于理解。

复制代码
 import java.util.Scanner;

    
  
    
 public class FindRepeatedString {
    
 	public static void main(String[] args){
    
 		Scanner sc = new Scanner(System.in);
    
 		while(sc.hasNext()){
    
 			String s = sc

全部评论 (0)

还没有任何评论哟~