定义重复字符串是由两个相同的字符串首尾拼接而成。例如:"abcabc" 是一个长度为 6 的重复字符串,因为它由两个 "abc" 串拼接而成;"abcba" 不是重复字符串,因为它不能由两个相同的字符串拼接而成。 给定一个字符串,请返回其最长重复子串的长度。 若不存在任何重复字符子串,则返回 0。 本题中子串的定义是字符串中一段连续的区间。 数据范围:字符串长度不大于 ,保证字符串一定由小写字母构成。 进阶:空间复杂度 ,时间复杂度
示例1
输入
"ababc"
输出
4
说明
abab为最长的重复字符子串,长度为4
示例2
输入
"abcab"
输出
0
说明
该字符串没有重复字符子串
加载中...
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param a string字符串 待计算字符串 * @return int整型 */ public int solve (String a) { // write code here } }
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param a string字符串 待计算字符串 * @return int整型 */ int solve(string a) { // write code here } };
#coding:utf-8 # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param a string字符串 待计算字符串 # @return int整型 # class Solution: def solve(self , a ): # write code here
using System; using System.Collections.Generic; class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param a string字符串 待计算字符串 * @return int整型 */ public int solve (string a) { // write code here } }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param a string字符串 待计算字符串 * @return int整型 */ function solve( a ) { // write code here } module.exports = { solve : solve };
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param a string字符串 待计算字符串 # @return int整型 # class Solution: def solve(self , a: str) -> int: # write code here
package main import "fmt" /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param a string字符串 待计算字符串 * @return int整型 */ func solve( a string ) int { // write code here }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param a string字符串 待计算字符串 * @return int整型 */ int solve(char* a ) { // write code here }
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param a string字符串 待计算字符串 # @return int整型 # class Solution def solve(a) # write code here end end
object Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param a string字符串 待计算字符串 * @return int整型 */ def solve(a: String): Int = { // write code here } }
object Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param a string字符串 待计算字符串 * @return int整型 */ fun solve(a: String): Int { // write code here } }
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param a string字符串 待计算字符串 * @return int整型 */ public int solve (String a) { // write code here } }
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param a string字符串 待计算字符串 * @return int整型 */ export function solve(a: string): number { // write code here }
public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param a string字符串 待计算字符串 * @return int整型 */ func solve ( _ a: String) -> Int { // write code here } }
struct Solution{ } impl Solution { fn new() -> Self { Solution{} } /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param a string字符串 待计算字符串 * @return int整型 */ pub fn solve(&self, a: String) -> i32 { // write code here } }
"ababc"
4
"abcab"
0