AcWing
  • 首页
  • 课程
  • 题库
  • 更多
    • 竞赛
    • 题解
    • 分享
    • 问答
    • 应用
    • 校园
  • 关闭
    历史记录
    清除记录
    猜你想搜
    AcWing热点
  • App
  • 登录/注册

LeetCode 1297. 子串的最大出现次数    原题链接    中等

作者: 作者的头像   autumn_0 ,  2024-10-08 08:43:12 ,  所有人可见 ,  阅读 10


0


class Solution {
    public int maxFreq(String S, int maxLetters, int minSize, int maxSize) {
        char[] s = S.toCharArray();
        var cnt = new HashMap<Character, Integer>();
        var res = new HashMap<String, Integer>();
        for(int i = 0; i < minSize - 1; i ++ ) cnt.merge(s[i], 1, Integer::sum);

        for(int i = minSize - 1; i < s.length; i ++ ){
            cnt.merge(s[i], 1, Integer::sum);

            if(cnt.size() <= maxLetters) {
                res.merge(S.substring(i - minSize + 1 ,i + 1), 1, Integer::sum);
            }

            char out = s[i - minSize + 1];
            if(cnt.merge(out, -1, Integer::sum) == 0)
                cnt.remove(out);
        }

        int ans = 0;
        for(Integer value: res.values()){
            ans = Math.max(ans, value);
        }

        return ans;
    }
}

0 评论

App 内打开
你确定删除吗?
1024
x

© 2018-2025 AcWing 版权所有  |  京ICP备2021015969号-2
用户协议  |  隐私政策  |  常见问题  |  联系我们
AcWing
请输入登录信息
更多登录方式: 微信图标 qq图标 qq图标
请输入绑定的邮箱地址
请输入注册信息