【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 密码解密(100分) - 三语言AC题解(Python/Java/Cpp)

news2024/10/22 8:22:46

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员

✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解

💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导

👏 感谢大家的订阅➕ 和 喜欢💗

📎在线评测链接

https://app5938.acapp.acwing.com.cn/contest/2/problem/OD1063
🌍 评测功能需要 ⇒ 订阅专栏 ⇐ 后私信联系清隆解锁~

🍓OJ题目截图

在这里插入图片描述

文章目录

    • 📎在线评测链接
    • 🍓OJ题目截图
    • 🍏 密码解密
      • 问题描述
      • 输入格式
      • 输出格式
      • 样例输入
      • 样例输出
      • 数据范围
      • 题解
      • 参考代码

🍏 密码解密

问题描述

LYA 收到了一段加密后的字符串 s s s,这段字符串是通过一个特殊的 “密码本” 加密的。“密码本” 的映射规则如下:字母 ′ a ′ 'a' a ′ i ′ 'i' i 分别用数字 ′ 1 ′ '1' 1 ′ 9 ′ '9' 9 表示;字母 ′ j ′ 'j' j ′ z ′ 'z' z 分别用 ′ 10 ∗ ′ '10*' 10 ′ 26 ∗ ′ '26*' 26 表示。现在 LYA 需要你的帮助,将这段 “密文” 解密并输出明文。

注意:映射规则保证是唯一的,即每个字母只会被映射到唯一的数字或数字+星号的组合。

输入格式

输入一行,包含一个字符串 s s s,表示 LYA 收到的 “密文”。

输出格式

输出一行,包含一个字符串,表示解密后的明文。

样例输入

20*19*20*

样例输出

tst

数据范围

  • 解密后的明文长度不超过 100 100 100

题解

本题可以通过 “密码本” 的映射规则,将 “密文” 中的数字或数字+星号的组合替换成对应的字母即可。

具体步骤如下:

  1. 26 26 26 1 1 1 遍历每个数字 i i i:

    • 如果 i > 9 i>9 i>9,则将 i + " ∗ " i+"*" i+"" 替换成字符 ( c h a r ) ( ′ a ′ + i − 1 ) (char)('a'+i-1) (char)(a+i1);
    • 否则,将 i i i 替换成字符 ( c h a r ) ( ′ a ′ + i − 1 ) (char)('a'+i-1) (char)(a+i1)
  2. 输出替换后的字符串即为解密后的明文。

时间复杂度 O ( ∣ s ∣ ) O(|s|) O(s),空间复杂度 O ( ∣ s ∣ ) O(|s|) O(s)。其中 ∣ s ∣ |s| s 为字符串 s s s 的长度。

参考代码

  • Python
s = input()

for i in range(26, 0, -1):
    key = str(i) + ('*' if i > 9 else '')
    val = chr(ord('a') + i - 1)
    s = s.replace(key, val)

print(s)
  • Java
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();

        for (int i = 26; i >= 1; i--) {
            String key = i + (i > 9 ? "*" : "");
            char val = (char) ('a' + i - 1);
            s = s.replace(key, String.valueOf(val));
        }

        System.out.println(s);
    }
}
  • Cpp
#include <iostream>
using namespace std;

int main() {
    string s;
    cin >> s;

    for (int i = 26; i >= 1; i--) {
        string key = to_string(i) + (i > 9 ? "*" : "");
        char val = 'a' + i - 1;
        for (int j = 0; j < s.length(); j++) {
            if (s.substr(j, key.length()) == key) {
                s.replace(j, key.length(), 1, val);
            }
        }
    }

    cout << s << endl;

    return 0;
}

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

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

相关文章

【多模态论文】CLIP(Contrastive Language-Image Pre-training)

论文&#xff1a;Learning Transferable Visual Models From Natural Language Supervision 链接&#xff1a;https://arxiv.org/abs/2103.00020 摘要 问题&#xff1a; 对预定的类别进行预测&#xff0c;这种有监督的训练形式受限于额外标记数据 。如何利用图像的原始文本来获…

MEME使用-motif分析(生物信息学工具-24)

01 背景 Motif分析是一种在生物信息学和计算生物学中广泛应用的技术&#xff0c;用于识别DNA、RNA或蛋白质序列中具有生物学功能的短保守序列模式&#xff08;motif&#xff09;。这些motif通常与特定的生物学功能相关&#xff0c;如DNA中的转录因子结合位点、RNA中的剪接位点…

VSCode调试python没有反应

原因&#xff1a;python的版本太低了&#xff0c;我的项目的python是3.5的&#xff0c;VSCode python debugger不支持低版本的python。 解决方法&#xff1a; debugging - debug python versions < 3.5 with vscode new debugger - Stack Overflow 安装支持低版本的Debug…

项目八 OpenStack存储管理

任务一 理解OpenStack块存储服务 1.1 •Cinder的主要功能 • 提供 持久性块存储资源&#xff0c;供 Nova 计算服务的虚拟机实例使用 。 • 为 管理块存储设备提供一套方法&#xff0c;对卷实现从创建到删除的整个生命周期 管理。 • 将 不同的后端存储进行封装&#xff0c;对外…

ScheduledExecutorService引起的线上问题(抛出异常后不继续执行)

线上有一个服务&#xff0c;采用ScheduledExecutorService定时任务刷新数据库数据到本地缓存作为路由信息 private ScheduledExecutorService scheduledExecutorService Executors.newScheduledThreadPool(1);scheduledExecutorService.scheduleWithFixedDelay(new Runnable()…

electron下载失败(electron如何切换镜像源)

打开&#xff1a; 或者&#xff1a; C:\Users\用户名\.npmrc 添加&#xff1a; electron_mirrorhttps://npmmirror.com/mirrors/electron/ 到文件中&#xff0c;保存 方法二&#xff1a; npm config set ELECTRON_MIRROR https://npmmirror.com/mirrors/electron/ ELECTR…

MavenPlus插件的基础功能完善

本次更新主要是在初版的searchEverywhere的基础上增加了pom.xml文件编辑器&#xff0c;目前的界面布局如下&#xff0c;进行适当说明&#xff1a; 打开pom文件后&#xff0c;你会得到如上图所示的布局页面&#xff0c;数据会同步显示 如果有冲突信息&#xff0c;则会以红色显示…

如何解决资源管理器被结束任务后的问题,怎么重启或新建资源管理器任务?

服务器上运行的东西太多&#xff0c;修改个文件夹的名字导致卡死。结束任务后导致系统页面空白。&#xff08;关闭了windows资源管理器&#xff09; 按CtrlShiftDelete没有反应。 按CtrlShiftEsc没有反应。 按CtrlShiftEnd没有反应。 按CtrlALTEnd有反应。 (win2012) 输入…

华为数通——单臂路由

单臂路由&#xff1a;指在三层设备路由器的一个接口上通过配置子接口&#xff08;或“逻辑接口”&#xff0c;并不存在真正物理接口&#xff09;的方式&#xff0c;实现原来相互隔离的不同VLAN&#xff08;虚拟局域网&#xff09;之间的互联互通。但是仅仅允许单播通信。 单臂路…

爬取CSDN博文到本地(包含图片,标签等信息)

文章目录 csdnToMD改进将CSDN文章转化为Markdown文档那有什么办法快速得到md文档&#xff1f;例如&#xff1a;获取单个文章markdown获取所有的文章markdown 项目中待解决的问题 csdnToMD 项目原作者&#xff1a;https://gitee.com/liushili888/csdn-is—mark-down 改进后仓库…

全球AI新闻速递6.20

1.国家药监局综合司&#xff1a;关于印发药品监管人工智能典型应用场景清单的通知。 2.Canalys&#xff1a;预计今年全球 AI 手机市场份额达 16%。 3.Adobe Acrobat 升级 AI 技能&#xff1a;文生图、梳理信息等。 4.中国科大人形机器人研究院揭牌。 5.华为官方预告&#x…

如何下载DVS Gesture数据集?解决tonic.datasets.DVSGesture错误HTTP Error 403: Forbidden

1 问题 DVSGesture数据集是一个专注于动态视觉传感&#xff08;Dynamic Vision Sensor, DVS&#xff09;技术的数据集&#xff0c;它包含了基于事件的图像记录&#xff0c;用于手势识别任务。DVSGesture数据集由一系列动态图像组成&#xff0c;这些图像是通过动态视觉传感器捕…

静态网页处理复杂请求

目录 1.定制请求头 (1)&#xff0e;查看请求头 (2)&#xff0e;设置请求头 2.验证 Cookie 3.保持会话 4. SSL 证书验证 在互联网中&#xff0c;网页中的内容是千变万化的&#xff0c;如果只根据请求 URL 发送基本请求&#xff0c;则可能 无法获取网站的响应数据&#xff0…

[创业之路-118] :制造业企业的必备管理神器-ERP-制造业的基本方程式与ERP的发展历程,哪些企业需要ERP?

目录 一、制造业的基本方程式 1.1 基本方程式 1.2 制造的数学模型 二、ERP的发展历程 2.1 发展历程 2.2 比较 三、过往产品回顾 3.1 定货点法 3.2 时段式ERP 3.3 闭环式MRP 3.4 ERP 四、哪些企业需要ERP 4.1 概述 4.2 软件企业需要ERP吗&#xff1f; 一、制造业的…

扫码点餐小程序搭建 商家智能化服务的新趋势

在这个数字化飞速发展的时代&#xff0c;独具个性的扫码点餐小程序也成为了人们对于店铺整体形象的加分项&#xff0c;店铺界面设计新颖、点餐操作简捷、让人心情愉悦的取餐时间差都成为了大家公认的打卡理由之一。因此&#xff0c;高颜值的实用点餐小程序也成为了商家们的店铺…

Hadoop安装和测试

一&#xff0c;下载 地址&#xff1a;Index of /dist/hadoop/common 选择3.3.6版本&#xff08;最新版本之前的一个版本&#xff0c;一般比较稳定&#xff09; 二&#xff0c;解压 解压到/data/module目录&#xff0c;这里随便自定义就好。 tar -zxvf hadoop-3.3.6.tar.gz …

超级好用的JSON格式化可视化在线工具

JSON是开发非常常用的一种报文格式,最常见的需求就是将JSON进行格式化,最好是有图形化界面显示结构关系,以便进行数据分析。 理想的在线JSON工具,应该支持快速格式化、可压缩、快捷复制、可下载导出,对存在语法错误的地方能明确显示。提供搜索定位功能,可视区足够大,最好…

CPU核心是如何影响VPS性能的?

为什么VPS对于各种类型和规模的网站和应用程序来说都是非常出色的解决方案&#xff1f; 首先&#xff0c;它比其他类型的托管具有许多优势&#xff0c;但也许它最大的优势是它可以以合适的价格为您提供合适的性能。 然而&#xff0c;只有当您满足所需的规格时它才会这样做。 …

Linux环境编程基础学习2

For循环累加求和&#xff0c;两种方式&#xff0c;c方式的运算更快 打开文件操作 cat操作的实现 EOF: 1.diff A B比较两个文件是否一样&#xff0c;一样则什么结果都没有 Od -c 文件名可以显示出文件中的不可见字符

贴图法美化Button按钮

贴图法美化Button按钮 项目是在下面这篇文章里的基础上进行美化的&#xff1a;MFC实现INI配置文件的读取 1. 初始效果 2.最终效果 3. 增加 CImgButton 类 1.1 ImgButton.h 头文件 #pragma once // CImgButtonclass CImgButton : public CBitmapButton {DECLARE_DYNAMIC(CImgBu…