华为OD-2024年E卷-字母组合[200分] -- python

  1. 问题描述:

每个数字对应多个字母,对应关系如下:
0:a,b,c
1:d,e,f
2:g,h,i
3:j,k,l
4:m,n,o
5:p,q,r
6:s,t
7:u,v
8:w,x
9:y, z
输入一串数字后,通过数字和字母的对应关系可以得到多个字母字符串(要求按照数字的顺序组合字母字符串);
屏蔽字符: 屏蔽字符中的所有字母不能同时在输出的字符串出现,如屏蔽字符时abc,则要求字符串中不能同时出现a,b,c,但是允许同时出现a,b;a,c;b,c等;
给定一个数字字符串和一个屏蔽字符串,输出所有可能的字符组合;
例如输入数字字符串78和屏蔽字符串ux,输出结果为uw,vw,vx;数字字符串78,可以得到如下字符串: uw,ux,vw,vx;由于ux是屏蔽字符串,因此排除ux,最终的输出时uw,vw,vx;
输入描述
第一行输入为一串数字字符串,数字字符串中的数字不允许重复,数字字符串的长度大于0,小于等于5;
第二行输入是屏蔽字符,屏蔽字符的长度一定小于数字字符串的长度,屏蔽字符串中字符不会重复,
输出描述
输出可能的字符串组合
注:字符串之间使用逗号隔开,最后一个字符串后携带逗号

78
ux
uw,vw,vx
78
x
uw,vw

解题思路:

考虑到数字字符串长度最大为5,按照规则暴力模拟:

  1. 使用一个字母列表0-9索引 保存‘a’-‘z’
  2. 使用一个ans列表记录屏蔽前的字符串,初始化为第一个数字对应的字母表
  3. 遍历其他数字、字母表、当前ans,将字母表全部依次加入ans列表的字符串
  4. 遍历ans列表,如果屏蔽字符串所有字符都能在当前字符串找到,则屏蔽该字符串(否则,将当前字符串加入新列表并输出)

代码实现:

alp = [('a','b','c'),('d','e','f'),('g','h','i'),('j','k','l'),('m','n','o'),('p','q','r'),('s','t'),('u','v'),('w','x'),('y','z')]
num = input()
s = input()
n = len(num)
ans = list(alp[int(num[0])])#初始化为第一个数字对应的字母表
for i in range(1,n):#后续数字temp1 = []x = alp[int(num[i])]for j in range(len(x)):#当前数字对应的字母表for k in range(len(ans)):#更新temp1temp = ans[k] + x[j]temp1.append(temp)ans = temp1#更新ans
fix_l = []
for i in range(len(ans)):for j in range(len(s)):if s[j] not in ans[i]:fix_l.append(ans[i])break
print(','.join(fix_l))

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习竞赛中的“A榜”与“B榜”:机制解析与设计深意

在Kaggle、天池等主流机器学习竞赛平台上,“A榜”(Public Leaderboard)和“B榜”(Private Leaderboard)是选手们最关注的指标。但很多新人对两者的区别和设计意图感到困惑。本文将深入解析其差异及背后的逻辑。 &#…

云徙科技 OMS:让订单管理变得轻松又高效

在如今这个线上线下购物融合得越来越紧密的时代,企业要是想在竞争激烈的市场里站稳脚跟,订单管理这一块可得好好下功夫。云徙科技的 OMS(订单管理系统)就像是给企业量身打造的一把“金钥匙”,能帮企业把订单管理得井井…

qt常用控件--02

文章目录 qt常用控件--02toolTip属性focusPolicy属性styleSheet属性补充知识点按钮类控件QPushButton 结语 很高兴和大家见面,给生活加点impetus!!开启今天的编程之路!! 今天我们进一步c11中常见的新增表达 作者&…

P3258 [JLOI2014] 松鼠的新家

题目描述 松鼠的新家是一棵树,前几天刚刚装修了新家,新家有 n n n 个房间,并且有 n − 1 n-1 n−1 根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的。天哪,他居然真的住在“树”上。 …

基于openfeign拦截器RequestInterceptor实现的微服务之间的夹带转发

需求: trade服务需要在下单后清空购物车 分析: 显然,清空购物车需要调用cart服务,也就是这个功能的实现涉及到了微服务之间的转发。 其次,清空购车还需要userId,所以需要使用RequestInterceptor来实现夹…

w~深度学习~合集9

我自己的原文哦~ https://blog.51cto.com/whaosoft/14010384 #UPSCALE 这里设计了一个通用算法UPSCALE,可以剪枝具有任意剪枝模式的模型。通过消除约束,UPSCALE将ImageNet精度提高2.1个点。 paper地址:https://arxiv.org/pdf/2307.08…

python如何删除xml中的w:ascii属性

可以使用Python的xml.etree.ElementTree模块通过以下步骤删除XML中的w:ascii属性&#xff1a; import xml.etree.ElementTree as ET# 原始XML片段&#xff08;需包含命名空间声明&#xff09; xml_str <w:rPr xmlns:w"http://schemas.openxmlformats.org/wordproces…

【React】React CSS 样式设置全攻略

在 React 中设置 CSS 样式主要有以下几种方式&#xff0c;各有适用场景&#xff1a; 1. 内联样式 (Inline Styles) 直接在 JSX 元素中使用 style 属性&#xff0c;值为 JavaScript 对象&#xff08;使用驼峰命名法&#xff09; function Component() {return (<div style…

JS红宝书笔记 8.2 创建对象

虽然使用Object构造函数或对象字面量可以方便地创建对象&#xff0c;但这些方式有明显不足&#xff1a;创建具有同样接口的多个对象需要重复编写很多代码 工厂模式可以用不同的参数多次调用函数&#xff0c;每次都会返回一个新对象&#xff0c;这种模式虽然可以解决创建多个类…

高通camx hal进程dump日志分析三:Pipeline DumpDebugInfo原理分析

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、问题背景 二、DumpDebugInfo原理 2.1:我们分析下代码 2.2 :Pipeline Dump debug info 2.3 :dump Metadata Pending Node信息 2.4 :Dump Metadata Pool Debug信息 2.5 :No…

【数据结构】_二叉树基础OJ

目录 1. 单值二叉树 1.1 题目链接与描述 1.2 解题思路 1.3 程序 2. 相同的树 2.1 题目链接与描述 2.2 解题思路 2.3 程序 3. 对称二叉树 3.1 题目链接与描述 3.2 解题思路 3.3 程序 1. 单值二叉树 1.1 题目链接与描述 题目链接&#xff1a; 965. 单值二叉树 - 力…

软件工程画图题

目录 1.大纲 2.数据流图 3.程序流图 4.流图 5.ER图 6.层次图 7.结构图 8.盒图 9.状态转换图 10.类图 11.用例图 12.活动图 13.判定表和判定树 14.基本路径测试过程(白盒测试) 15.等价类划分(黑盒测试) 1.大纲 (1).数据流图 (2).程序流图 (3).流图 (4).ER图…

H7-TOOL自制Flash读写保护算法系列,为华大电子CIU32F003制作使能和解除算法,支持在线烧录和脱机烧录使用2025-06-20

说明&#xff1a; 很多IC厂家仅发布了内部Flash算法文件&#xff0c;并没有提供读写保护算法文件&#xff0c;也就是选项字节算法文件&#xff0c;需要我们制作。 实际上当前已经发布的TOOL版本&#xff0c;已经自制很多了&#xff0c;比如已经支持的兆易创新大部分型号&…

go channel用法

介绍 channel 在 Go 中是一种专门用来在 goroutine 之间传递数据的类型安全的管道。 你可以把它理解成&#xff1a; 多个 goroutine 之间的**“传话筒”**&#xff0c;谁往通道里塞东西&#xff0c;另一个 goroutine 就能接收到。 Go 语言采用 CSP&#xff08;Communicatin…

openLayers切换基于高德、天地图切换矢量、影像、地形图层

1、需要先加载好地图&#xff0c;具体点此链接 openLayers添加天地图WMTS、XYZ瓦片服务图层、高德地图XYZ瓦片服务图层-CSDN博客文章浏览阅读31次。本文介绍了基于OpenLayers的地图交互功能实现&#xff0c;主要包括以下内容&#xff1a; 地图初始化&#xff1a;支持天地图XYZ…

springMVC-15 异常处理

异常处理-基本介绍 基本介绍 1.Spring MVC通过HandlerExceptionResolver处理程序的异常&#xff0c;包括Handler映射、数据绑定以及目标方法执行时发生的异常。 2.主要处理Handler中用ExceptionHandler注解定义的方法。 3.ExceptionHandlerMethodResolver内部若找不到Excepti…

视频汇聚EasyCVR平台v3.7.2发布:新增全局搜索、播放器默认解码方式等4大功能

EasyCVR视频汇聚平台带着全新的v3.7.2版本重磅登场&#xff01;此次升级&#xff0c;绝非简单的功能堆砌&#xff0c;而是从用户体验、操作效率以及系统性能等多维度进行的深度优化与革新&#xff0c;旨在为大家带来更加强大、稳定且高效的视频监控管理体验。 一、全局功能搜索…

三、kubectl使用详解

三、kubectl使用详解 文章目录 三、kubectl使用详解1、常用基础命令1.1 Kubectl命令格式1.2 查询一个资源1.3 创建一个资源1.4 修改一个资源1.5 删除一个资源1.6 其他 2、K8s隔离机制Namespace&#xff08;命名空间作用及使用&#xff09;2.1 什么是命名空间2.2 命名空间主要作…

JVM内存模型详解

JVM内存模型详解 Java虚拟机(JVM)内存模型是理解Java程序运行机制的核心&#xff0c;它定义了程序运行时数据的组织方式和访问规则。与Java内存模型(JMM)关注并发不同&#xff0c;JVM内存模型主要描述运行时数据区的结构和功能。 一、JVM内存模型概述 JVM内存模型将运行时数…

《对话式 AI 白皮书》共创者招募

在 AI Agent 技术不断演变的当下&#xff0c;共创一本不断演变的对话式 AI 白皮书&#xff0c;共同探索人机对话的新纪元。无论你是开发者、技术专家、生态伙伴还是创业者&#xff0c;都期待你的加入。 项目地址&#xff1a;https://github.com/RTE-Dev/book_era_convoai/ 在…