华为OD机试 - 匿名信(Java 2024 E卷 100分)
华为OD机试 2024E卷题库疯狂收录中,刷题点这里
专栏导读
本专栏收录于《华为OD机试(JAVA)真题(E卷+D卷+A卷+B卷+C卷)》。
刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新,全天CSDN在线答疑。
一、题目描述
电视剧《分界线Q》里面有一个片段,男主为了向警察透露案件细节,且不暴露自己,于是将报刊上的字减下来,剪拼成匿名信。
现在一名举报人,希望借鉴这部片段,使用英文报刊为范本来剪拼举报信。
但为了增加文章的混淆程度,尽量避免每个单词中字母数量一致即可,不关注每个字母的顺序。
解释:单词n允许抄袭过n的字母组合。
报纸代表newspaper,匿名信代表anonymousLetter,求报纸内容是否可以拼成匿名信。
二、输入描述
第一行newspaper内容,包括1N个字符,并且空格分开
第二行anonymousLetter内容,包括1N个字符,并且空格分开。
newspaper和anonymousLetter的字符串中均为英文字母组成,且每个字母只能使用一次;
newspaper内容中的每个字符中字母顺序可以任意调整,但必须保证字符串的完整性(每个字符串不能有多余字母)
1 < N < 100,
1 <= newspaper.length,anonymousLetter.length <= 104
三、输出描述
如果报纸可以拼成匿名信返回true,否则返回false
四、测试用例
测试用例1:
1、输入
ab cd
ab
2、输出
true
3、说明
测试用例2:
1、输入
ab ef
aef
2、输出
false
3、说明
五、解题思路
- 读取输入,包括报纸内容和匿名信内容。
- 将报纸和匿名信中的每个单词进行字母排序,得到其“规范形式”。
- 例如,单词“ab”排序后仍为“ab”,单词“aef”排序后为“aef”。
- 统计报纸中每种规范形式的单词出现次数,存入一个哈希映射 newspaperMap 中。
- 统计匿名信中每种规范形式的单词出现次数,存入另一个哈希映射 letterMap 中。
- 遍历匿名信中的每种规范形式,检查报纸中是否有足够数量的对应单词。
- 如果报纸中某种规范形式的单词数量少于匿名信中需要的数量,则返回 false。
- 如果所有匿名信中的单词都在报纸中有足够的对应单词,则返回 true。
六、Java算法源码
public class OdTest {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);// 读取报纸内容,并按空格分割成单词数组String newspaperLine = scanner.nextLine().trim();String[] newspaperWords = newspaperLine.split("\\s+");// 读取匿名信内容,并按空格分割成单词数组String letterLine = scanner.nextLine().trim();String[] letterWords = letterLine.split("\\s+");// 关闭扫描器scanner.close();// 计算报纸中每种规范形式的单词出现次数Map<String, Integer> newspaperMap = new HashMap<>();for (String word : newspaperWords) {String sortedWord = sortLetters(word);newspaperMap.put(sortedWord, newspaperMap.getOrDefault(sortedWord, 0) + 1);}// 计算匿名信中每种规范形式的单词出现次数Map<String, Integer> letterMap = new HashMap<>();for (String word : letterWords) {String sortedWord = sortLetters(word);letterMap.put(sortedWord, letterMap.getOrDefault(sortedWord, 0) + 1);}// 检查报纸中是否有足够的单词来组成匿名信boolean canForm = true;for (Map.Entry<String, Integer> entry : letterMap.entrySet()) {String sortedWord = entry.getKey();int requiredCount = entry.getValue();int availableCount = newspaperMap.getOrDefault(sortedWord, 0);if (availableCount < requiredCount) {canForm = false;break;}}// 输出结果System.out.println(canForm ? "true" : "false");}/*** 将单词中的字母按字母序排序,并返回排序后的字符串** @param word 原始单词* @return 排序后的单词*/private static String sortLetters(String word) {char[] chars = word.toCharArray();Arrays.sort(chars);return new String(chars);}
}
七、效果展示
1、输入
ab bcd ef
cbd fe
2、输出
true
3、说明
🏆下一篇:华为OD机试 - 简易内存池 - 逻辑分析(Java 2024 E卷 200分)
🏆本文收录于,华为OD机试(JAVA)真题(E卷+D卷+A卷+B卷+C卷)
刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新,全天CSDN在线答疑。
相关文章:
华为OD机试 - 匿名信(Java 2024 E卷 100分)
华为OD机试 2024E卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(E卷D卷A卷B卷C卷)》。 刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加…...
通过rancher2.7管理k8s1.24及1.24以上版本的k8s集群
目录 初始化实验环境 安装Rancher 登录Rancher平台 通过Rancher2.7管理已存在的k8s最新版集群 文档中的YAML文件配置直接复制粘贴可能存在格式错误,故实验中所需要的YAML文件以及本地包均打包至网盘. 链接:https://pan.baidu.com/s/1oYX4eGoBtW_R-7i…...
text-align的属性justify
text-align常用的属性是left、center、right,具体的可参考css解释,今天重点记录的对象是justify justify 可以使文本的两端都对齐在两端对齐文本中,文本行的左右两端都放在父元素的内边界上。然后,调整单词和字母间的间隔&#x…...
使用python自制桌面宠物,好玩!——枫原万叶桌宠,可以直接打包成exe去跟朋友炫耀。。。
大家好,我是小黄。 今天我们使用python实现一个桌面宠物。只需要gif动态图片就行。超级简单容易上手。 #完整源代码可在下方图片免费获取 一:下载相关的库文件。 我们本次使用到的库文件为:tkinter和pyautogui 下载命令: pip…...
使用 ASP.NET Core 8.0 创建最小 API
构建最小 API,以创建具有最小依赖项的 HTTP API。 它们非常适合需要在 ASP.NET Core 中仅包括最少文件、功能和依赖项的微服务和应用。 本教程介绍使用 ASP.NET Core 生成最小 API 的基础知识。 在 ASP.NET Core 中创建 API 的另一种方法是使用控制器。 有关在最小 …...
气候服务平台ClimateSERV2.0简介(python)
1 简介 ClimateSERV 2.0允许开发从业者、科学家/研究人员和政府决策者可视化和下载历史降雨数据、植被状况数据以及 180 天的降雨和温度预报,以增进对农业和水资源供应相关问题的理解并做出改进的决策。 这些数据可以通过 Web 应用程序直接访问,也可以…...
Docker | centos7上对docker进行安装和配置
安装docker docker配置条件安装地址安装步骤2. 卸载旧版本3. yum 安装gcc相关4. 安装需要的软件包5. 设置stable镜像仓库6. 更新yum软件包索引7. 安装docker引擎8. 启动测试9. 测试补充:设置国内docker仓库镜像 10. 卸载 centos7安装docker https://docs.docker.com…...
React--》掌握Valtio让状态管理变得轻松优雅
Valtio采用了代理模式,使状态管理变得更加直观和易于使用,同时能够与React等框架无缝集成,本文将深入探讨Valtio的核心概念、使用场景以及其在提升应用性能中的重要作用,帮助你掌握这一强大工具,从而提升开发效率和用户…...
python爬虫百度图片
直接给代码,可直接用,个人需要修改的地方有两处: self.directory 这是本地存储地址,修改为自己电脑的地址,另外,**{}**不要删spider.json_count 10 这是下载的图像组数,一组有30张图像&#x…...
前端开发:Vue中数据绑定原理
Vue 中最大的一个特征就是数据的双向绑定,而这种双向绑定的形式,一方面表现在元数据与衍生数据之间的响应,另一方面表现在元数据与视图之间的响应,而这些响应的实现方式,依赖的是数据链,因此,要…...
CTF-RE 从0到N: TEA
TEA TEA(Tiny Encryption Algorithm,轻量加密算法) 是一种简单、快速的对称加密算法。它是一个分组加密算法,通常用于加密 64 位的数据块,并使用 128 位的密钥。TEA 是一种“费斯妥结构”(Feistel structu…...
python 使用PIL获取图片长宽
在Python中,你可以使用Pillow库(PIL的一个分支和替代品)来获取图片的长和宽。Pillow提供了丰富的图像处理功能,包括获取图像的基本属性,如尺寸。 以下是一个简单的示例,展示了如何使用Pillow库来获取图片的…...
【Nas】X-DOC:搞机之PVE部署All In One(黑群晖NAS 软路由OpenWrt Docker Win10远程桌面)
【Nas】X-DOC:搞机之PVE部署All In One(黑群晖NAS & 软路由OpenWrt & Docker & Win10远程桌面) 1、原硬件配置清单:2、改AIO后增加配置清单:3、虚拟化平台PVE:4、搭建的关键服务: 1…...
linux 驱动源码分析的理解。
首先 , 是linux 驱动,我看网上的老师,在分析源码时 , 不会 所有的函数都分析,而是分析一些比较重要的函数,一些厉害的人,在分析源码时…...
鸿蒙-任务栏右击退出 或 UIAbility窗口关闭,怎么弹框拦截
onPrepareToTerminate 需要配置权限 ohos.permission.PREPARE_APP_TERMINATE 参考链接:文档中心import { emitter } from kit.BasicServicesKit; import { common } from kit.AbilityKit; import { TipsDialog } from kit.ArkUI;// entryAbility.ets 在你的uiabilit…...
【C++进阶篇】——STL的简介
【C进阶篇】——STL的简介 1.什么是STL STL(standard template libaray-标准模板库):是C标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包罗数据结构与算法的软件框架。 2.STL的版本 原始版本 Alexander Stepanov、Meng Lee 在…...
信息安全工程师(70)网络攻击陷阱技术与应用
前言 网络攻击陷阱技术是一种主动的防御方法,作为网络安全的重要策略和技术手段,有利于网络安全管理者获得信息优势。 一、网络攻击陷阱技术原理 网络攻击陷阱技术可以消耗攻击者所拥有的资源,加重攻击者的工作量,迷惑攻击者&…...
Web保存状态的手段(Session的使用)
一,JSP中的page指令 1. <% page language“java” session“true”%> session:此页面是否使用session,默认值为true 二,使用Session完善之前的登录程序 1. 如何禁止直接输入URL地址进入登录功能的欢迎界面? …...
第五十四章 安全元素的详细信息 - DerivedKeyToken 详情
文章目录 第五十四章 安全元素的详细信息 - <DerivedKeyToken> 详情详情消息中的位置 第五十四章 安全元素的详细信息 - 详情 <DerivedKeyToken> 的目的是携带发送者和接收者可以独立使用的信息来生成相同的对称密钥。这些方可以使用该对称密钥对 SOAP 消息的相关…...
kafka 的高可用机制是什么?
大家好,我是锋哥。今天分享关于【kafka 的高可用机制是什么?】面试题?希望对大家有帮助; kafka 的高可用机制是什么? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Apache Kafka 是一个分布式消息系统&am…...
4.1.3 网站通信技术
文章目录 1. 网站通信方式2. URL - 统一资源定位符定义格式演示 3. 发送请求的4种形式在地址栏中输入URL访问超链接href属性指定URLform表单在action中指定URL通过AJAX请求后端数据 4. 两种不同返回的请求发送URL,后端处理完响应页面发送AJAX请求,后端处…...
Java-图书管理系统
我的个人主页 欢迎来到我的Java图书管理系统,接下来让我们一同探索如何书写图书管理系统吧! 1管理端和用户端 2建立相关的三个包(book、operation、user) 3建立程序入口Main类 4程序运行 1.首先图书馆管理系统分为管理员端和…...
python如何通过json以及pickle读写保存数据
记录信息 比如说我写了这样一段程序,记录了爱吃的食物: food_list []while True:c input("输入1添加新的食物,输入2查询已添加的食物,输入exit退出:")if c "1":new_food input("输入你…...
【SPIE出版,EI检索稳定】2024年人机交互与虚拟现实国际会议(HCIVR 2024,11月15-17日)
2024年人机交互与虚拟现实国际会议(HCIVR 2024) 2024 International Conference on Human-Computer Interaction and Virtual Reality 官方信息 会议官网:www.hcivr.org 2024 International Conference on Human-Computer Interaction and …...
Linux vim编辑器
前言: 首先我们来了解一下什么是编辑器,通常我们在widow系统下例如C/C我们进行写代码时,我们通过vs2022等等编译器进行,这里的编译器是一种IDE(集成开发环境),集成开发环境是将代码编辑器、编译…...
普推知产:申请商标名称从4字改成3字下了初审!
近日7月的时候普推知产老杨帮客户申请的水果猕猴桃31类商标,初步审定公告下来了,基本没什么问题三个月公告结束后一个月内就可以拿到商标注册证,客户所在地全国有名猕猴桃之县,同质化竞争还得需要商标才可以。 刚开始了解到这位做…...
Flink 状态精准一次性特性
Flink 的一个重大价值在于, 它既保证了 exactly-once ,也具有低延迟和高吞吐 的处理能力 。 1.端到端(End-To-End)状态一致性 端到端的一致性保证,意味着结果的正确性贯穿了整个流处理应用的始终;每 一…...
算法笔记day08
1.游游的水果大礼包 这道题很容易让人想到贪心,但是其实是一道枚举题,只需举一个反例,贪心无非就是哪个礼包价值大,就优先组成哪个礼包。 算法思路: 设可以组成x个a礼包,y个b礼包,求ax by的最…...
在Selenium中有哪些元素对象操作方法?( ̄﹃ ̄)
在Selenium中,driver.find_element() 方法用于定位页面上的单个元素。一旦你定位到了一个元素,你可以对这个元素执行多种操作。此外,driver.find_element() 只是定位元素的方法之一,它还有其他一些相关的方法和属性,但…...
sqli-labs靶场安装以及刷题记录-docker
sqli-labs靶场安装以及刷题记录-docker sqli-labs靶场安装-dockersqli-labs靶场刷题less-1 单引号less-2 数字型less-3 单引号括号less-4 双引号括号less-5 单引号布尔盲注less-6 双引号布尔盲注less-7 单引号加括号、输出到文件less-8 单引号布尔盲注less-9 单引号时间盲注les…...
wordpress 后台无法打开/世界排名前十位
这篇文章的内容很简单,就是探讨char** 、int**等二重指针的作用。 1、演示 int a 10;int* b &a;int** c &b;指针b指向变量a;可以通过*b操作变量a的值。二重指针c指向指针b,那么*c就能操作指针b的内容。 那么问题的关键是 指针b的…...
攻击网站常用方法/希爱力跟万艾可哪个猛
Java Swing教程 - Java Swing JSpinnerJSpinner组件组合来自JFormattedTextField和可编辑的JComboBox的函数。JSpinner可以有一个选择列表,同时,我们也可以应用一个格式到显示的值。它从选择列表中一次只显示一个值,它允许我们输入一个新值。…...
哪里找做网站的公司/seo软件
Nothing in the world can take the place persistence!博客园首页新随笔联系订阅管理随笔-213 文章-1 评论-280 LinkButton的数据绑定问题 LinkButton的数据绑定问题 如果你写成这样: <asp:LinkButton ID"btnDetail"runat"server"Text详情…...
搭建一个网站的服务器/中国宣布疫情结束日期
1. 对象/关系数据库映射(ORM) ORM 全称 Object/Relation Mapping:表示对象-关系映射的缩写 ORM 完成面向对象的编程语言到关系数据库的映射。当 ORM 框架完成映射后,程序员既可以利用面向对象程序设计语言的简单易用性ÿ…...
网站首页一般做多大尺寸/百度站长平台工具
目录 1.CPU与GPU分析 1.GPU渲染工具:GPU-RENDERING-PROFILE 2.GPR显示内容说明: 检查 GPU 渲染速度和过度绘制了解设备上的开发者选项如何帮助您直观地查看您的应用可能会在何处遇到问题。https://developer.android.google.cn/topic/performance/rendering/inspect-gpu-rend…...
2019年做网站还有前景吗/班级优化大师免费下载学生版
库 database 库 tabale创建 create空 null 非空 not null默认,展示 select之前 firstt 之后 after修改 modify改变 change键 index自动附值 auto_incremen...