首页 > 试题广场 >

计算重复字符串长度

[编程题]计算重复字符串长度
  • 热度指数:1608 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 128M,其他语言256M
  • 算法知识视频讲解
请从字符串中找出至少重复一次的子字符串的最大长度

输入描述:
字符串,长度不超过1000


输出描述:
重复子串的长度,不存在输出0
示例1

输入

ababcdabcefsgg

输出

3

说明

abc为重复的最大子串,长度为3
package main

import (
    "fmt"
)

func main() {
    var s string
    fmt.Scan(&s)
    cnt:=map[string]int{}
    max:=0
    for i:=0;i<len(s);i++{
        for j:=i+max;j<len(s);j++{
            ss:=s[i:j]
            cnt[ss]++
            if cnt[ss]>1&&len(ss)>max{
                max=len(ss)
            }
        }
    }
    fmt.Print(max)
}

发表于 2023-03-19 08:24:21 回复(0)