欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

最长重复子串

程序员文章站 2022-03-15 19:36:56
...

牛客链接

https://www.nowcoder.com/practice/4fe306a84f084c249e4afad5edf889cc?tpId=117&&tqId=36041&rp=1&ru=/ta/job-code-high&qru=/ta/job-code-high/question-ranking

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * 
     * @param a string字符串 待计算字符串
     * @return int整型
     */
    int solve(string a) {
        // write code here
        if(a.size()<=1) return 0;
        int len=a.size()/2;
        for(int i=len;i>=1;i--)
        {
            for(int j=0;j<=a.size()-2*i;j++)
            {
                if(judege(a, j, i))
                {
                    return 2*i;
                }
            }
        }
        return 0;
    }
    bool judege(string &a,int start,int length)
    {
        for(int i=start;i<start+length;i++)
        {
            if(a[i]!=a[i+length])
                return 0;
        }
        return 1;
    }
};

相关标签: 面试专栏