华为OD机试真题-挑选字符串【2023.Q1】

2023-11-01

题目描述

给定a-z,26个英文字母小写字符串组成的字符串A和B,
其中A可能存在重复字母,B不会存在重复字母,现从字符串A中按规则挑选一些字母可以组成字符串B挑选规则如下:
1:同一个位置的字母只能挑选一次,
2:被挑选字母的相对先后顺序不能被改变
求最多可以同时从A中挑选多少组能组成B的字符串
输入描述
输入为2行, 第一行输入字符串a,第二行输入字符串b,行首行尾没有多余空格
输出描述
输出一行,包含一个数字表示最多可以同时从a中挑选多少组能组成b的字符串,行末没有多余空格
示例一
输入
badc
bac
输出
1

解题思路

使用 HashMap 来存储字符串 B 中每个字符的位置。然后使用数组 charCountsInA存储字符串 A 中每个字符在字符串 B 中出现的次数。
遍历字符串 A 中的每个字符。如果字符在字符串 B 中,获取它在字符串 B 中的位置。
如果字符是字符串 B 的第一个字符,或者它前一个字符的数量小于当前字符的次数,将当前字符的次数加 1。
最后一个字符的次数即是最终答案。

参考代码

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

华为OD机试真题-挑选字符串【2023.Q1】 的相关文章

随机推荐

  • Java 对象序列化 JSON时,数据出现引用结构 $ref

    对Java对象序列化操作时 发现JSON 使用阿里巴巴的FastJSON组件 数据中 包含 ref 结构数据 这是为了避免触发 StackOverflowError 错误而做的处理 第一种解决方法是 关闭FastJSON的引用检测 不建议
  • OpenSSH 输入验证错误漏洞(CVE-2020-12062)漏洞修复(本人亲测)

    目录 一 漏洞描述 二 修复方式 三 修复流程 1 查找sshd和ssh位置 2 备份sshd 3 搜索版本信息 4 替换版本信息 最重要的一步 5 测试 一 漏洞描述 OpenSSH 输入验证错误漏洞 CVE 2020 12062 二 修
  • Java数组的定义与使用

    目录 一 一维数组的定义 1 创建数组 2 初始化数组 二 数组的使用 1 访问数组 2 遍历数组 3 修改数据内容 三 有关数组方法的使用 1 toString 2 copyOf 四 查找数组中的元素 1 顺序查找 2 二分查找binar
  • STM32 的中断解析

    中断定义及其执行过程 中断是指在主程序运行过程中 出现了特定的中断触发条件 中断源 使得CPU暂停当前正在运行的程序 转而去处理中断程序 处理完成后又返回原来被暂停的位置继续运行 STM32微控制器有68个可屏蔽中断通道 包含EXTI TI
  • 如何设置PCB过孔盖油 AD、 Protel 99 SE、 PADS Layout

    关于 过孔盖油 和 过孔开窗 此点 许多客户下单时经常会问这是什么意思 就此问题点 说明如下 过孔盖油 1 下单上传的是pcb文件 并在下单时勾选过孔盖油 做板工艺就是过孔盖油 2 下单上传的是gerber文件 按gerber文件生产 忽略
  • Code::Blocks +mingw64 编译64位程序配置方法

    一 准备工作 说明 本人新手一个 最近在用code blocks编程 用的C 由于默认编译器是编译32位的 程序占用系统内存最大只能2g 便考虑编译成64位程序来增大可用内存 于是就上网找方法 可惜网上我搜到的方法试了统统不管用 在破罐子破
  • 百度X福州新区 “数字时代 智领未来”智能网联汽车道路测试正式启动

    9月19日 由福州新区管委会指导 福州市电子信息集团与百度承办的福州新区智能网联汽车道路测试启动仪式暨智能汽车产业科创基地揭牌仪式正式启动 标志着福州新区成为全国首批无人化 商业化政策落地的先行区 成为福建省首个规模化智能网联道路建成区和自
  • OpenCV-图像梯度与边缘提取

    文章目录 图像梯度与边缘提取 Sobel和Scharr算子 cv2 Sobel cv2 convertScaleAbs cv2 Scharr 示例 Laplacian算子 cv2 Laplacian 示例 canny边缘提取 cv2 can
  • “互联网从此没有 BAT”

    燃财经 ID rancaijing 原创 作者 黎明 编辑 魏佳 长期被唱衰的百度 终于到了正式告别BAT的关键时刻 过去30天 受业绩下滑和高管离职等因素影响 百度的股价跌去30 市值蒸发200亿美金 美团趁势赶上 市值一举超越百度 正式
  • 华为OD机试 - 报文回路(Java & JS & Python)

    题目描述IGMP 协议中响应报文和查询报文 是维系组播通路的两个重要报文 在一条已经建立的组播通路中两个相邻的 HOST 和 ROUTER ROUTER 会给 HOST 发送查询报文 HOST 收到查询报文后给 ROUTER 回复一个响应报
  • Incorrect string value: ‘\xE7\x94\x9F\xE4\xBA\xA7...‘ for column ‘ylname‘ at row 1

    1 修改数据库字符集 alter database db new 数据库名 charset utf8mb4 2 修改表字符集 alter table tb 表名 charset utf8mb4 3 修改表字符集和校验规则 alter tab
  • 【第四章:OpenCv阈值分割/二值化(单通道、多通道图片)总结】

    第四章 OpenCv阈值分割 二值化 单通道 多通道图片 总结 0 前言 1 基础知识 1 1 什么是算子 1 2 图像处理中的图像分割技术 1 3 单通道图片的阈值分割 1 4 推荐文章链接 2 灰度图分割 2 1 灰度直方图 2 2 简
  • 在Linux中利用Service命令添加系统服务及开机自启动

    近期由于做嵌入式项目需要 要求将编写的程序在板载系统开机时自启动 这里做个笔记 备忘 1 概念 通过查资料发现linux启动服务是用SERVICE COMMAND 这里的command命令本身也是一个脚本 比如说 service netwo
  • arduino控制RFID门禁卡

    一 实物连接 二 代码实现 include rfid h include
  • NOIp2003 传染病控制

    题目描述 给出一棵树 其中1为根 1号有病 每天向下传染一代 每天可以断一条边 求最小传染数 代码 include
  • IDEA2020.1启动SpringBoot项目出现java程序包:xxx不存在

    Error 3 38 java 程序包org springframework stereotype不存在 Error 4 47 java 程序包org springframework web bind annotation不存在 Error
  • 如何更新anaconda中的所有库(包含自定义环境更新)

    更新base环境下的所有库直接按照以下代码 以管理员身份启动 Anaconda Prompt 升级conda 升级Anaconda前需要先升级conda conda update conda 升级anaconda conda update
  • GBDT模型原理及Python案例分析

    GBDT模型原理及Python案例分析 Gradient Boosting Decision Trees GBDT 是一种常用的机器学习方法 它可以应用于回归和分类问题 相比于其他机器学习模型 GBDT模型具有更高的精确度和更好的泛化能力
  • STM32 进阶教程 12 - M4的硬件乘法器使用

    前言 Cortex M4支持硬件浮点运算单元 有些厂商直接说成DSP模块 本节将给大家介绍STM32F407芯片中硬件浮点运算单元中的使用及带来的性能对比 示例详解 基于硬件平台 正点源子的stm32f4 探索者开发板 MCU 的型号是 S
  • 华为OD机试真题-挑选字符串【2023.Q1】

    题目描述 给定a z 26个英文字母小写字符串组成的字符串A和B 其中A可能存在重复字母 B不会存在重复字母 现从字符串A中按规则挑选一些字母可以组成字符串B挑选规则如下 1 同一个位置的字母只能挑选一次 2 被挑选字母的相对先后顺序不能被