華為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
英文地址,請注明出處:http://en.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/ 在…