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

固定字符出现最大次数

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

所用语言

Java

所用知识

字符串、哈希表

解题思路

因为t中可能有多个编号,所以使用hashmap存储,使用containKey进行匹配; 使用滑动窗口,记录当前窗口中符合标准的数量; 再用Math.max记录最大值返回即可

完整代码

public int maxCount (String s, int k, String t) {
    // write code here
    HashMap<Character, Integer> hashMap = new HashMap<>();
    for (int i = 0; i < t.length(); i++) {
        hashMap.put(t.charAt(i), 0);
    }
    int cur = 0, max = 0;
    for (int i = 0; i < k; i++) {
        if (hashMap.containsKey(s.charAt(i))) {
            cur += 1;
            max =cur;
        }
    }
    for (int i = k; i < s.length(); i++) {
        if (hashMap.containsKey(s.charAt(i - k))) {
            cur = cur - 1;
        }
        if (hashMap.containsKey(s.charAt(i))) {
            cur = cur + 1;
            max = Math.max(cur, max);
        }
    }
    return max;
}
#固定字符出现最大次数#
全部评论

相关推荐

06-13 15:45
辽宁大学 golang
咱就是说&nbsp;你不主动&nbsp;我也不会主动下一步hhh,急死了
恶龙战士:不建议把这种帖子发到牛客上,建议去小红书发
点赞 评论 收藏
分享
面试官问:为什么不考研?该怎么回答啊😭我说现在的就业环境差到底了,还有就是我不想学数学,感觉面试官笑容都凝固了😢
DayDayNoBug的鲜芋球:我说的是“上学期其实尝试过去探索一些研究的方向,但感觉那些对我来说都没有很大的吸引力,相比起研究我可能更喜欢开发这种实践性的东西,它会让我觉得很有意思并且会为之深入进去”(虽然也不知这个回答怎么样哈哈哈哈哈哈)
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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