2024.1.12力扣每日一题——统计出现过一次的公共字符串

发布时间:2024年01月14日

题目来源

力扣每日一题;题序:2085

我的题解

方法一 哈希表计数

分别用两个哈希表记录两个字符串数组中字符串出现的个数,然后在两个哈希表中找共同拥有的字符串并且出现次数都为1的组合,若出现这种组合,则表示找到一组答案,结果+1。

时间复杂度:O(n+m)。n和m分别表示words1和words2的长度。
空间复杂度:O(n+m)。哈希表的空间

public int countWords(String[] words1, String[] words2) {
        
  int n=words1.length,m=words2.length;
    Map<String,Integer> map1=new HashMap<>();
    for(int i=0;i<n;i++){
        map1.put(words1[i],map1.getOrDefault(words1[i],0)+1);
    }
    
    Map<String,Integer> map2=new HashMap<>();
    for(int i=0;i<m;i++){
       map2.put(words2[i],map2.getOrDefault(words2[i],0)+1);
    }
    int res=0;
    for(String key:map1.keySet()){
        int l=map1.get(key);
        int r=map2.getOrDefault(key,0);
        if(l==1&&r==1){
            res++;
        }
    }
    return res;
}

有任何问题,欢迎评论区交流,欢迎评论区提供其它解题思路(代码),也可以点个赞支持一下作者哈😄~

文章来源:https://blog.csdn.net/weixin_42075274/article/details/135583147
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。