📌  相关文章
📜  UGC-NET | UGC-NET CS 2017 12 月 2 日 |问题 1(1)

📅  最后修改于: 2023-12-03 14:48:09.012000             🧑  作者: Mango

UGC-NET | UGC-NET CS 2017 12月2日 | 问题 1

本题是关于Java语言中字符串操作的概念。

题目描述

给定一个字符串str,实现一个Java程序来找到该字符串中最长的连续重复字符的长度。例如,如果输入字符串是“aabbbccdeee”,则最长的连续重复字符的长度为3。

解题思路

我们可以依次遍历字符串中的每个字符,同时记录当前遍历字符的重复数量和最大重复数量。如果当前字符和上一个字符相等,则重复数量加一;否则,将当前重复数量与最大重复数量进行比较,如果当前重复数量大于最大重复数量,则将最大重复数量更新为当前重复数量。最后输出最大重复数量即可。

以下是对应的Java代码片段,其中字符串"str"应该在代码中根据需要进行初始化:

int maxCount = 0;
int currentCount = 1;
for (int i = 1; i < str.length(); i++) {
    if (str.charAt(i) == str.charAt(i - 1)) {
        currentCount++;
    } else {
        if (currentCount > maxCount) {
            maxCount = currentCount;
        }
        currentCount = 1;
    }
}
if (currentCount > maxCount) {
    maxCount = currentCount;
}
System.out.println("The length of longest consecutive repeating character in given string is: " + maxCount);
总结

本题重点考察了字符串操作中的数组遍历和条件判断。代码实现起来较为简单,但需要注意细节和边界情况的处理。应熟练掌握Java语言中字符串的常见操作方法,例如charAt()、length()、substring()等方法,以便在实际开发中能够高效地处理字符串。