题解 | #计算重复字符串长度#

计算重复字符串长度

https://www.nowcoder.com/practice/e172dbac7d9140e98eef66c9ebbe25f8

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextLine()) { // 注意 while 处理多个 case
            String  s = in.nextLine();
            longestRepeatSubStr(s);
        }
    }

    private static void longestRepeatSubStr(String s) {
        int maxLen = 0;
        for (int i = 0; i < s.length() - 1; i++) {
            for (int j = i + 1; j < s.length(); j++) {
                int len = 0;
			    // 重复字符串的第一个串的起始下标;
                int fi = i;
			  // 重复字符串的第二个串的起始下标
                int si = j;
                // 其实就是枚举,如果是重复字符串,那么起始位置后边的几个都是一样的。
                // 从每个位置开始往后找。找到相同的,则循环去比较数据
                while (fi < s.length() && si < s.length() && s.charAt(fi) == s.charAt(si)) {
                    fi++;
                    si++;
                    len++;
                }
                maxLen = Math.max(len, maxLen);
            }
        }

        System.out.println(maxLen);
    }
}

全部评论

相关推荐

叶扰云倾:进度更新,现在阿里云面完3面了,感觉3面答得还行,基本都答上了,自己熟悉的地方也说的比较细致,但感觉面试官有点心不在焉不知道是不是不想要我了,求阿里收留,我直接秒到岗当阿里孝子,学校那边的房子都退租了,下学期都不回学校,全职猛猛实习半年。这种条件还不诱人吗难道 然后现在约到了字节的一面和淘天的复活赛,外加猿辅导。华为笔试完没动静。 美团那边之前投了个base广州的,把我流程卡麻了,应该是不怎么招人,我直接简历挂了,现在进了一个正常的后端流程,还在筛选,不知道还有没有hc。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务