MarsCode青训营打卡Day11(2025年1月24日)|稀土掘金-373.字母出现次数的统计

资源引用:

373.字母出现次数的统计

今日小记:

感冒生病,多休息。

稀土掘金-373.字母出现次数的统计(373.字母出现次数的统计)

题目分析:

给定一个由小写字母组成的字符串s,请找出有多少个小写字母在字符串中至少出现了k次。

解题思路:

显然,遍历s,用Map记录每个小写字母及其出现次数,最终遍历该Map,找出value大于等于k的键值对的数量。

import java.util.Map;
import java.util.HashMap;
public class Main {
    public static int solution(String s, int k) {
        int res = 0;
        Map map = new HashMap<>();    
        /*1.遍历s,用Map记录每个小写字母及其出现次数 */ 
        for (int i = 0; i < s.length(); i++) {
            map.put(s.charAt(i), map.getOrDefault(s.charAt(i), 0) + 1);
        } 
        /*2.遍历该Map,找出value大于等于k的键值对的数量 */
        for (char character : map.keySet()) {
            if (map.get(character) >= k) res++;
        }
        return res;
    }

    public static void main(String[] args) {
        System.out.println(solution("aaabcd", 2) == 1);
        System.out.println(solution("aacbcbdefghijklmnopqrstuvwxyz", 1) == 26);
        System.out.println(solution("zzzzzzabc", 3) == 1);
    }
}

你可能感兴趣的:(MarsCode青训营,java,算法,数据结构)