给定一个由小写字母组成的字符串 ,求有多少小写字母出现了至少 次。
,
import java.util.*; public class Solution { //36ms 10556KB //数组存储 public int howMany (String S, int k) { int[] cnt = new int[26]; for (int i = 0; i < S.length(); i++) { int idx = S.charAt(i) - 'a'; cnt[idx]++; } int kTimes = 0; for (int i = 0; i < 26; i++) { if (cnt[i] >= k) kTimes++; } return kTimes; } //59ms 11976KB //map存储 public int howMany1 (String S, int k) { Map<Character, Integer> map = new HashMap<>(); for (int i = 0; i < S.length(); i++) { char ch = S.charAt(i); map.put(ch, map.getOrDefault(ch, 0) + 1); } int cnt = 0; for (Character ch : map.keySet()) { if (map.get(ch) >= k) cnt++; } return cnt; } }