题目
给定一段“密文”字符串 s,其中字符都是经过“密码本”映射的,现需要将“密文”解密并输出。
映射的规则(‘a’ ~ ‘i’)分别用(‘1’ ~ ‘9’)表示;(‘j’ ~ ‘z’)分别用(“10*” ~ “26*”)表示。
约束:映射始终唯一。
输入描述
“密文”字符串:9131113*
输出描述
明文字符串:imkm
解题思路
遍历密文根据字符的不同情况(单字符映射或双字符映射)来解析对应的数字编码,并将其转换成相应的字母。通过将解密后的字母逐个添加到一个字符串中,最终得到明文字符串。
代码
# -*- coding: utf-8 -*-
def decrypt(cipher_text):
plaintext = ""

本文介绍了华为在线开发者(OD)机试中的一道Python题目,涉及密码解密问题。给定一个经过特定映射规则加密的字符串,需要编写算法将密文还原为明文。解题思路包括遍历字符串,根据单字符和双字符映射规则解码,最后将解密的字母拼接成明文字符串。
订阅专栏 解锁全文
2889

被折叠的 条评论
为什么被折叠?



