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<Character, Integer> 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);
}
}