题解 | #固定字符出现最大次数# java

固定字符出现最大次数

https://www.nowcoder.com/practice/73cc3e22a6ea4d00846f53384e4a6915

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param s string字符串
     * @param k int整型
     * @param t string字符串
     * @return int整型
     */
    public int maxCount (String s, int k, String t) {
        // write code here
        int n = s.length();
        int maxCount = 0;
        for (int i = 0; i <= n - k; ++i) {
            String sub = s.substring(i, i + k);
            int count = 0;
            for (char c : t.toCharArray()) {
                count += countOccurrences(sub, c);
            }
            maxCount = Math.max(maxCount, count);
        }
        return maxCount;
    }

    private int countOccurrences(String str, char target) {
        int count = 0;
        for (char c : str.toCharArray()) {
            if (c == target) {
                count++;
            }
        }
        return count;
    }
}

Java代码

这道题主要考察以下知识点:

  1. 字符串操作
  2. 循环和迭代
  3. 逻辑判断

下面是代码的文字解释:

  1. 定义了一个名为 maxCount 的函数,接受输入参数 s(字符串)、k(子字符串长度)和 t(目标字符串)。
  2. 使用一个循环来遍历从索引 0 到 n - k 的范围,以便获取每个长度为 k 的子字符串。
  3. 在每个子字符串中,创建一个变量 count,用于记录目标字符在子字符串中出现的次数。
  4. 遍历目标字符串 t 中的每个字符,使用辅助函数 countOccurrences 来计算它在子字符串中出现的次数。
  5. 通过比较当前的 count 和 maxCount 的值,更新 maxCount 以保留最大的出现次数。
  6. maxCount 将存储在所有子字符串中可能的最大出现次数。
  7. 辅助函数 countOccurrences 用于计算字符在子字符串中出现的次数。遍历子字符串的每个字符,如果字符与目标字符匹配,则增加计数。
全部评论

相关推荐

05-19 15:21
已编辑
门头沟学院 Java
白火同学:你才沟通了200,说实话,北上广深杭这里面你连一座城市的互联网公司都没投满呢,更别说还有各种准一线二线城市了。等你沟通突破了三位数,还没结果再考虑转行的事吧。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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