2024.1.12每日一题

LeetCode

2085.统计出现过一次的公共字符串

2085. 统计出现过一次的公共字符串 - 力扣(LeetCode)

题目描述

给你两个字符串数组 words1words2 ,请你返回在两个字符串数组中 都恰好出现一次 的字符串的数目。

示例 1:

输入:words1 = ["leetcode","is","amazing","as","is"], words2 = ["amazing","leetcode","is"]
输出:2
解释:
- "leetcode" 在两个数组中都恰好出现一次,计入答案。
- "amazing" 在两个数组中都恰好出现一次,计入答案。
- "is" 在两个数组中都出现过,但在 words1 中出现了 2 次,不计入答案。
- "as" 在 words1 中出现了一次,但是在 words2 中没有出现过,不计入答案。
所以,有 2 个字符串在两个数组中都恰好出现了一次。

示例 2:

输入:words1 = ["b","bb","bbb"], words2 = ["a","aa","aaa"]
输出:0
解释:没有字符串在两个数组中都恰好出现一次。

示例 3:

输入:words1 = ["a","ab"], words2 = ["a","a","a","ab"]
输出:1
解释:唯一在两个数组中都出现一次的字符串是 "ab" 。

提示:

  • 1 <= words1.length, words2.length <= 1000
  • 1 <= words1[i].length, words2[j].length <= 30
  • words1[i]words2[j] 都只包含小写英文字母。

思路

哈希表

代码

C++
class Solution {
public:
    int countWords(vector<string>& words1, vector<string>& words2) {
        unordered_map<string, int> w1;
        unordered_map<string, int> w2;
        for(string word : words1){
            w1[word]++;
        }
        for(string word : words2){
            w2[word]++;
        }
        int ans = 0;
        for(string word : words1){
            if(w1[word] == 1 && w2[word] ==1 ){
                ans++;
            }
        }
        return ans;
    }
};
Java
class Solution {
    public int countWords(String[] words1, String[] words2) {
        // 统计字符串出现频率
        Map<String, Integer> w1 = new HashMap<>();
        Map<String, Integer> w2 = new HashMap<>();
        for(String w : words1){
            w1.put(w,w1.getOrDefault(w,0) + 1);
        }
        for(String w : words2){
            w2.put(w,w2.getOrDefault(w,0) + 1);
        }

        // 遍历 words1 出现的字符串并判断是否满足要求
        int ans = 0;
        for(String w : w1.keySet()){
            if(w1.getOrDefault(w,0) == 1 && w2.getOrDefault(w,0) == 1){
                ans++;
            }
        }
        return ans;
    } 
}

image-20240112080723796

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/312604.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《手把手教你》系列练习篇之3-python+ selenium自动化测试(详细教程)

1. 简介 前面介绍了&#xff0c;XPath, id , class , link text, partial link text, tag name, name 七大元素定位方法&#xff0c;本文介绍webdriver支持的最后一个方法&#xff1a;by_css。css和XPath类似&#xff0c;也需要掌握一些语法&#xff0c;才能写出正确的&#x…

微信小程序开发学习笔记《8》tabBar

微信小程序开发学习笔记《8》tabBar 博主正在学习微信小程序开发&#xff0c;希望记录自己学习过程同时与广大网友共同学习讨论。tabBar官方文档 tabBar这一节还是相当重要的。 一、什么是tabBar tabBar是移动端应用常见的页面效果&#xff0c;用于实现多页面的快速切换。小…

halcon 标定板像素当量的标定

背景&#xff1a;当镜头不是远心镜头时&#xff0c;FA镜头没法知道一个像素的尺寸。 1、标定板信息 标定板7*7&#xff0c;圆的直径是1.25mm&#xff0c;两个圆的距离是2.5mm&#xff0c;求出每排两两圆心距的像素距离&#xff0c;然后平均值。两点的真实距离为D&#xff0c;…

图像识别与计算机视觉有什么区别?

图像识别和计算机视觉在很多方面存在差异&#xff0c;这些差异主要体现在以下几个方面&#xff1a; 1. 研究范围 图像识别是计算机视觉领域的一个子集。计算机视觉不仅包括图像识别&#xff0c;还涵盖了更广泛的内容&#xff0c;如场景理解、目标跟踪、分割、识别和解释等。简而…

Golang的API项目快速开始

开启一个简单的API服务。 golang的教程网上一大堆&#xff0c;官网也有非常详细的教程&#xff0c;这里不在赘述这些基础语法教程&#xff0c;我们意在快速进入项目开发阶段。 golang好用语法教程传送门&#xff1a; m.runoob.com/go/ 编写第一个API 前提&#xff1a;按照上一…

Python列表(list)

目录 列表列表的创建与删除访问列表元素index() 方法 列表的遍历添加&#xff0c;修改和删除列表元素添加修改删除 对列表统计和计算count() 方法如需确定列表中有**多少元素**&#xff0c;请使用 len() 方法&#xff1a;检查项目是否存在**复制列表****合并两个列表****list()…

李沐之经典卷积神经网络

目录 1. LeNet 2. 代码实现 1. LeNet 输入是32*32图片&#xff0c;放到一个5*5的卷积层里面&#xff0c;卷积层的输出通道数是6&#xff0c;高宽都是28&#xff08;32-5128&#xff09;。再经过2*2的池化层&#xff0c;把28*28变成14*14&#xff08;28-22&#xff09;/214&am…

数据在内存中的存储(C语言)

​ ✨✨ 欢迎大家来到贝蒂大讲堂✨✨ ​ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; ​ 所属专栏&#xff1a;C语言学习 ​ 贝蒂的主页&#xff1a;Betty‘s blog 引言 ​ 我们早就学完基本的数据类型&#xff0c;那这些数据类型…

window中安装Apache http server(httpd-2.4.58-win64-VS17)

windows中安装Apache http server(httpd-2.4.58-win64-VS17) 1、下载windows版本的的httpd, https://httpd.apache.org/docs/current/platform/windows.html#down 这里选择的是Apache Lounge编译的版本 https://www.apachelounge.com/download/ 2、解压到指定目录&#xff0c;这…

【5】商密测评密码辅助工具

0X01 前言 最近在学了下商密测评&#xff0c;研究了下技术层面的测评&#xff0c;感觉找工具不方便&#xff0c;就顺手自己造了个辅助工具&#xff0c;都是自己遇到需要用的。 0x02 工具功能介绍 不爱打字&#xff0c;直接上图。后续根据技术测评层面需要继续完善和增加功能。…

Hive基础知识(九):Hive对数据库表的增删改查操作

1. 创建表 1&#xff09;建表语法 CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name #EXTERNAL&#xff1a;外部的 [(col_name data_type [COMMENT col_comment],...)] [COMMENT table_comment] [PARTITIONED BY (col_name data_type [COMMENT col_comment],...)]#PARTITIO…

Session与Cookie

目录 一、Session会话技术 概念 常用方法 生命周期 有效期 场景 二、Cookie技术 一、Session会话技术 概念 浏览器和服务器之间为了实现某个功能&#xff0c;产生了多次请求和响应&#xff0c;从第一次请求开始到最后一次请求结束&#xff0c;这期间所有的请求和响应加…

走进Docker的世界

文章目录 前言一、Docker相关概述1、什么是docker&#xff1f;2、为什么出现docker&#xff1f;2.1 容器与kvm虚拟化的对比2.2 docker的作用 二、安装docker及配置文件调整1.配置宿主机网卡转发2.yum安装docker3.修改daemon.json文件4.修改docker镜像和容器的默认存储路径5.启动…

高效构建Java应用:Maven入门和进阶(四)

高效构建Java应用&#xff1a;Maven入门和进阶&#xff08;四&#xff09; 四. Maven聚合和继承特性4.1 Maven工程继承关系4.2 Maven工程聚合关系 四. Maven聚合和继承特性 4.1 Maven工程继承关系 继承概念 Maven 继承是指在 Maven 的项目中&#xff0c;让一个项目从另一个项目…

GLES学习笔记---立方体贴图(一张图)

一、首先看一张效果图 立方体贴图 二、纹理坐标划分 如上图是一张2D纹理&#xff0c;我们需要将这个2D纹理贴到立方体上&#xff0c;立方体有6个面&#xff0c;所以上面的2D图分成了6个面&#xff0c;共有14个纹理坐标 三、立方体 上边的立方体一共8个顶点坐标&#xff0c;范围…

Redis(四)事务

文章目录 事务Redis事务 vs 数据库事务常用命令总结 事务 一个队列中、一次性、顺序性、排他性执行一系列命令 官网https://redis.io/docs/interact/transactions/ Redis事务 vs 数据库事务 概述详述1、单独的隔离操作Redis的事务仅仅是保证事务里的操作会被连续独占的执行&a…

2022 年全国职业院校技能大赛高职组云计算赛项试卷

【赛程名称】云计算赛项第一场-私有云 某企业拟使用OpenStack 搭建一个企业云平台&#xff0c;以实现资源池化弹性管理、企业应用集中管理、统一安全认证和授权等管理。 系统架构如图 1 所示&#xff0c;IP 地址规划如表 1 所示。 图 1 系统架构图 表 1 IP 地址规划 设备…

Java零基础教学文档第四篇:HTML_CSS_JavaScript(2)

【HTML】 【主要内容】WEB: 1&#xff0e;Web前端简介 2&#xff0e;创建第一个前端项目 3&#xff0e;相关标签详解 4&#xff0e;表格标签详解 5&#xff0e;表单标签详解 6&#xff0e;框架和实体字符 【学习目标】 1. Web前端简介 1.1 为什么要学习Web前端&#…

【Python机器学习】SVM——预处理数据

为了解决特征特征数量级差异过大&#xff0c;导致的模型过拟合问题&#xff0c;有一种方法就是对每个特征进行缩放&#xff0c;使其大致处于同一范围。核SVM常用的缩放方法是将所有的特征缩放到0和1之间。 “人工”处理方法&#xff1a; import matplotlib.pyplot as plt from…

Java异常处理之旅:解救迷失的程序员

目录​​​​​​​ 一、前言 二、基础知识 2.1 异常的概念 ​​​​​​2.2 异常分类 2.3 异常处理的原则 ​​​​​​三、异常处理的语法 3.1 try-catch语句 3.2 finally语句 3.3 throw语句 3.4 throws关键字 3.5 自定义异常 四、常见异常及处理方式 4.1 NullP…