2024-1-12
文章目录
- [2085. 统计出现过一次的公共字符串](https://leetcode.cn/problems/count-common-words-with-one-occurrence/)
- 思路:哈希表计算
2085. 统计出现过一次的公共字符串
思路:哈希表计算
1.用两个哈希表分别统计word1和word2中字符出现的次数
2.遍历words1中的每个单词x,并使用count1.put(x,count1.getOrDefault(x,0)+1)将单词x作为键,将其在count1中对应的值加1存储起来,count1.getOrDefault(x,0)表示获取count1中键为x的值,如果不存在则返回默认值0。
3.同理遍历word2,同样操作
4.遍历count1的键集合count1.keySet(),对于每个键x,判断count1.get(x)是否等于1且count2.getOrDefault(x,0)是否等于1。如果满足条件,则将res加1。
public int countWords(String[] words1, String[] words2) {Map<String,Integer> count1 = new HashMap<>();Map<String,Integer> count2 = new HashMap<>();//存储每个单词在对应数组中出现的次数for (String x:words1 ) {// 遍历第一个字符串数组words1,将单词及其出现次数存储到count1中count1.put(x,count1.getOrDefault(x,0)+1);}for (String x:words2 ) {// 遍历第二个字符串数组words2,将单词及其出现次数存储到count2中count2.put(x,count2.getOrDefault(x,0)+1);}int res = 0;//记录相同单词的数量for (String x:count1.keySet()) {// 遍历count1的键集合,判断在count1中出现次数为1且在count2中也出现次数为1的单词if (count1.get(x)==1&&count2.getOrDefault(x,0)==1){res++;}}return res;}
点击移步博客主页,欢迎光临~