华为OD机试【全量和已占用字符集】(java)(100分)

1、题目描述

给定两个字符集合,一个是全量字符集,一个是已占用字符集,已占用字符集中的字符不能再使用。

2、输入描述

  1. 输入一个字符串 一定包含@,@前为全量字符集 @后的为已占用字符集;
  2. 已占用字符集中的字符一定是全量字符集中的字符;
  3. 字符集中的字符跟字符之间使用英文逗号隔开;
  4. 每个字符都表示为字符+数字的形式用英文冒号分隔,比如a:1标识一个a字符;
  5. 字符只考虑英文字母,区分大小写;
  6. 数字只考虑正整型,不超过100;
  7. 如果一个字符都没被占用 @标识仍存在,例如 a:3,b:5,c:2@

3、输出描述

  1. 输出可用字符集;
  2. 不同的输出字符集之间用回车换行;
  3. 注意 输出的字符顺序要跟输入的一致,如下面用例不能输出b:3,a:2,c:2;
  4. 如果某个字符已全部占用,则不需要再输出
    用例:
输入
a:3,b:5,c:2@a:1,b:2输出
a:2,b:3,c:2ps:
全量字符集为三个a,5个b,2个c
已占用字符集为1个a,2个b
由于已占用字符不能再使用
因此剩余可用字符为2个a,3个b,2个c
因此输出a:2,b:3,c:2

温馨提示!!!
华为OD机试考试官方会对考生代码查重。华为od机试因为有题库所以有很大的概率抽到原题。如果碰到了题库中的原题,千万不要直接使用题解中的代码,一定要做些修改,比如代码中的变量名,除此之外,代码的组织结构和逻辑也要进行一些改变,所以在日常的刷题中,要提前编写好属于自己的代码。

4、题解

本题简单,看代码。
代码如下:

public static void main(String[] args) {Scanner sc = new Scanner(System.in);String[] arr = sc.nextLine().split("@");String[] allStrs = arr[0].split(",");String[] usedStrs = {};if (arr.length > 1) {usedStrs = arr[1].split(",");}Map<String, Integer> maps = new HashMap<>();// 全量字符转mapfor (String str : allStrs) {String[] tmp = str.split(":");String c = tmp[0];Integer num = Integer.parseInt(tmp[1]);maps.put(c, num);}// 过滤已用字符for (String str : usedStrs) {String[] tmp = str.split(":");int usedNum = Integer.parseInt(tmp[1]);int sub = maps.get(tmp[0]) - usedNum;if (sub == 0) {maps.remove(tmp[0]);}else {maps.put(tmp[0], sub);}}for (Map.Entry<String, Integer> entry : maps.entrySet()) {System.out.println(entry.getKey() + ":" + entry.getValue());}
}

执行结果如下:
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

1756jsp农产品销售管理系统Myeclipse开发mysql数据库C2C模式java编程计算机网页项目沙箱支付

一、源码特点 java 农产品销售管理系统 是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统采用web模式&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&#xff0…

压缩损失来源-量化噪声

压缩损失会以多种方式表现出来并会导致视觉损失。这里讨论最常见的压缩损失——量化噪声。量化是将大量输入值映射到较小集合的过程&#xff0c;如将输入值四舍五入为某个精度单位的值。 执行量化的设备或算法称为量化器。量化过程引入的舍入误差即量化误差或量化噪声。量化误差…

12个最强悍的数字孪生软件

数字孪生软件是一种尖端技术&#xff0c;可创建物理资产、系统或流程的虚拟表示。工程师、城市规划者、制造商和无数其他专业人士使用它来模拟、监控和分析数字环境中的真实场景。通过这样做&#xff0c;他们可以预测潜在问题、测试解决方案并简化操作&#xff0c;确保现实世界…

Linux网络编程(三)IO复用一 select系统调用

I/O复用使得程序能同时监听多个文件描述符。在以下场景中需要使用到IO复用技术&#xff1a; 客户端程序要同时处理多个socket&#xff0c;非阻塞connect技术客户端程序要同时处理用户输入和网络连接&#xff0c;聊天室程序TCP服务器要同时处理监听socket和连接socket服务器要同…

算法学习:数组 vs 链表

&#x1f525; 个人主页&#xff1a;空白诗 文章目录 &#x1f3af; 引言&#x1f6e0;️ 内存基础什么是内存❓内存的工作原理 &#x1f3af; &#x1f4e6; 数组&#xff08;Array&#xff09;&#x1f4d6; 什么是数组&#x1f300; 数组的存储&#x1f4dd; 示例代码&#…

运放的同相与反相放大

反相放大器 同相端接地&#xff0c;电压为 0&#xff0c;反相端和同相端虚短&#xff0c;因此也是 0 V 的电压&#xff0c;同时由于虚断&#xff0c;几乎没有电流注入&#xff0c;所以R 1 和R 2 相当于串联&#xff0c;电阻上的电流相等 因此可以求出输入输出关系式为 V o u t…

excel如何将多列数据转换为一列?

这个数据整理借用数据透视表也可以做到&#xff1a; 1.先将数据源的表头补齐&#xff0c;“姓名” 2.点击插入选项卡&#xff0c;数据透视表&#xff0c;在弹出对话框中&#xff0c;数据透视位置选择 现有工作表&#xff0c;&#xff08;实际使用时新建也没有问题&#xff09;…

免费分享一套微信小程序在线订餐(点餐)配送系统(SpringBoot+Vue),帅呆了~~

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的微信小程序在线订餐(点餐)配送系统(SpringBootVue)&#xff0c;分享下哈。 项目视频演示 【免费】微信小程序在线订餐(点餐)配送系统(SpringBootVue) Java毕业设计_哔哩哔哩_bilibili【免费】微信小程序在…

每日OJ题_贪心算法三⑥_力扣738. 单调递增的数字

目录 力扣738. 单调递增的数字 解析代码 力扣738. 单调递增的数字 738. 单调递增的数字 难度 中等 当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时&#xff0c;我们称这个整数是单调递增的。 给定一个整数 n &#xff0c;返回 小于或等于 n 的最大数字&#xff0…

集成学习案例-幸福感预测

集成学习案例一 &#xff08;幸福感预测&#xff09; 背景介绍 此案例是一个数据挖掘类型的比赛——幸福感预测的baseline。比赛的数据使用的是官方的《中国综合社会调查&#xff08;CGSS&#xff09;》文件中的调查结果中的数据&#xff0c;其共包含有139个维度的特征&#xf…

哪款充电宝质量和口碑比较好?适合入手充电宝有哪些?

充电宝这么好用的移动电源就不用我说了吧&#xff0c;平时不出门还好&#xff0c;家里有插座可以充电&#xff0c;但是但凡出门了&#xff0c;手机电量一般是不能够支撑到&#xff0c;像我这种手机重度使用者&#xff0c;出门在外手机快没电了我就非常焦虑了&#xff0c;有一款…

五一 大项目

Docker 中的 Nginx 服务为什么要启用 HTTPS 一安装容器 1 安装docker-20.10.17 2 安装所需的依赖 sudo yum install -y yum-utils device-mapper-persistent-data lvm23 添加Docker官方仓库 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos…

Python pypdf库:PDF文档处理的利器

更多Python学习内容&#xff1a;ipengtao.com PDF&#xff08;Portable Document Format&#xff09;是一种常见的文档格式&#xff0c;广泛应用于各种场景&#xff0c;包括文档编辑、电子书籍、报告等。Python作为一种强大的编程语言&#xff0c;在处理PDF文档方面也有着丰富的…

怎样通过PHP语言实现远程控制一路开关

怎样通过PHP语言实现远程控制一路开关呢&#xff1f; 本文描述了使用PHP语言调用HTTP接口&#xff0c;实现控制一路开关&#xff0c;一路开关可控制一路照明、排风扇等电器。 可选用产品&#xff1a;可根据实际场景需求&#xff0c;选择对应的规格 序号设备名称厂商1智能WiFi…

【JavaWeb】网上蛋糕项目商城-我的订单,退出功能

概念 上一文中&#xff0c;我们实现了注册&#xff0c;登录&#xff0c;提交订单以及修改个人信息等功能。本文在登录的状态下&#xff0c;实现订单列表以及退出登录功能等。 我的订单 在head.jsp头部页面中&#xff0c;当用户处于登录状态&#xff0c;则会显示“我的订单”…

面试分享——订单超30分钟未支付自动取消用什么实现?如何使用Redis实现延迟队列?

目录 1.订单超时未支付自动取消&#xff0c;这个你用什么方案实现&#xff1f; 2.如何使用Redis实现延迟队列 2.1实验步骤 2.2实现生产可用的延迟队列还需关注什么 3.总结 电商场景中的问题向来很受面试官的青睐&#xff0c;因为业务场景大家都相对更熟悉&#xff0c;相关…

Java | Leetcode Java题解之第75题颜色分类

题目&#xff1a; 题解&#xff1a; class Solution {public void sortColors(int[] nums) {int n nums.length;int p0 0, p2 n - 1;for (int i 0; i < p2; i) {while (i < p2 && nums[i] 2) {int temp nums[i];nums[i] nums[p2];nums[p2] temp;--p2;}i…

Pytorch入门—Tensors张量的学习

Tensors张量的学习 张量是一种特殊的数据结构&#xff0c;与数组和矩阵非常相似。在PyTorch中&#xff0c;我们使用张量来编码模型的输入和输出&#xff0c;以及模型的参数。 张量类似于NumPy的ndarrays&#xff0c;只是张量可以在GPU或其他硬件加速器上运行。事实上&#xf…

Flink 部署模式

目录 概述 部署模式 会话模式&#xff08;Session Mode&#xff09; 单作业模式(Per-Job Mode) 应用模式(Application Mode) 运行模式&#xff08;资源管理模式&#xff09; Standalone运行模式 会话模式部署 应用模式部署 Yarn运行模式 会话模式部署 单作业模式部…

LeetCode70:爬楼梯

题目描述 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 解题思想 1.确定dp数组以及下标的含义 dp[i]&#xff1a; 爬到第i层楼梯&#xff0c;有dp[i]种方法 2.确定递推公式 从dp[i]的定义可以…