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

计算重复字符串长度

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);
    }
}

全部评论

相关推荐

这是什么操作什么意思,这公司我服了...
斯派克spark:意思是有比你更便宜的牛马了
点赞 评论 收藏
分享
06-26 17:24
已编辑
宁波大学 golang
迷失西雅图:别给,纯kpi,别问我为什么知道
点赞 评论 收藏
分享
见见123:简历没有啥问题,是这个社会有问题。因为你刚毕业,没有工作经历,现在企业都不要没有工作经历的。社会病了。
点赞 评论 收藏
分享
码农索隆:有点耳熟,你们是我教过最差的一届
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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