当前位置: 首页 > news >正文

密码解密 - 华为OD统一考试(C卷)

OD统一考试(C卷)

分值: 100分

题解: Java / Python / C++

alt

题目描述

给定一段 “密文”字符串 s ,其中字符都是经过 “密码本” 映射的,现需要将“密文”解密并且输出。

映射的规则:

  • ( ai ) 分别用(19 )表示;
  • (jz ) 分别用(10∗26∗ )表示。

约束:映射始终唯一。

输入描述

“密文”字符串

输出描述

明文字符串

示例1

输入:
20*19*20*输出:
tst说明:
翻译后的文本长度在 100 以内。

题解

基本思路是从密文字符串的末尾开始遍历,根据规则进行解密,并最终输出解密后的明文字符串。

关键点:

  • 对于包含 ‘*’ 的情况,解析前两个字符,进行相应的解密操作。
  • 对于不包含 ‘*’ 的情况,进行简单的解密操作。
  • 在遍历过程中,逐步构建解密后的密码。
  • 最后,反转密码字符串,因为是从末尾开始遍历的。

Java

import java.util.Scanner;/*** @author code5bug*/
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);// 读取输入文本String text = in.next();// 存储解密后的密码StringBuilder pwd = new StringBuilder();for (int i = text.length() - 1; i >= 0; ) {if (text.charAt(i) == '*') {char c = (char) (Integer.parseInt(text.substring(i - 2, i)) - 10 + 'j');pwd.append(c);i -= 3;} else {char c = (char) (text.charAt(i) - '1' + 'a');pwd.append(c);i -= 1;}}// 输出解密后的密码System.out.println(pwd.reverse().toString());}
}

Python

# 读取输入文本
text = input()# 存储解密后的密码
pwd = []# 从字符串末尾开始遍历
i = len(text) - 1
while i >= 0:if text[i] == '*':# 如果当前字符是 '*',则解析前两个字符并进行解密num = int(text[i - 2:i])c = chr(num - 10 + ord('j'))pwd.append(c)i -= 3else:# 如果当前字符不是 '*',则进行简单解密c = chr(ord(text[i]) - ord('1') + ord('a'))pwd.append(c)i -= 1# 输出解密后的密码
print(''.join(pwd[::-1]))

C++

#include <bits/stdc++.h>
using namespace std;int main(){string text;cin >> text;string pwd;int n = text.length();for(int i = n - 1; i >= 0; ){// 遇到 * 肯定解密 j - zif(text[i] == '*'){char c = stoi(text.substr(i - 2, 2)) - 10 + 'j';pwd.push_back(c);i -= 3;}else{ // 否则 a - ichar c = text[i] - '1' + 'a';pwd.push_back(c);i -= 1;}}reverse(pwd.begin(), pwd.end());cout << pwd << endl;return 0;
}

相关练习题

题号题目难易
LeetCode 23252325. 解密消息简答

‍❤️‍华为OD机试面试交流群每日真题分享): 加V时备注“华为od加群”

🙏整理题解不易, 如果有帮助到您,请给点个赞 ‍❤️‍ 和收藏 ⭐,让更多的人看到。🙏🙏🙏

相关文章:

密码解密 - 华为OD统一考试(C卷)

OD统一考试&#xff08;C卷&#xff09; 分值&#xff1a; 100分 题解&#xff1a; Java / Python / C 题目描述 给定一段 “密文”字符串 s &#xff0c;其中字符都是经过 “密码本” 映射的&#xff0c;现需要将“密文”解密并且输出。 映射的规则&#xff1a; ( a−i ) 分…...

【深度学习】Pytorch教程(八):PyTorch数据结构:2、张量的数学运算(6):高维张量:乘法、卷积(conv2d~四维张量;conv3d~五维张量)

文章目录 一、前言二、实验环境三、PyTorch数据结构1、Tensor&#xff08;张量&#xff09;1. 维度&#xff08;Dimensions&#xff09;2. 数据类型&#xff08;Data Types&#xff09;3. GPU加速&#xff08;GPU Acceleration&#xff09; 2、张量的数学运算1. 向量运算2. 矩阵…...

Autosar-Mcal配置详解-GPT

3.3.1添加GPT模块 方法与添加Dio相似&#xff0c;可参加Dio模块添加方法。 3.3.2 创建、配置GPT通道 1)根据需求创建GPT通道&#xff08;即创建几个定时器&#xff09; 本例中创建了3个定时器通道&#xff1a;1ms&#xff0c;100us&#xff0c;OsTimer。 2)配置GPT通道 配置T…...

前端面试问题(jwt/布局/vue数组下标/扁平化/菜单树形/url api/新版本)

前端面试问题(jwt/布局/vue数组下标/扁平化/菜单树形/url api/新版本) 1. jwt鉴权逻辑 前端 JWT 鉴权逻辑通常涉及在发起请求时携带 JWT&#xff0c;并在接收到响应后处理可能的授权问题。 1. 用户登录&#xff1a; 用户提供凭证&#xff1a; 用户在登录界面输入用户名和密码…...

Learn HTML in 1 hour

website address https://www.youtube.com/watch?vHD13eq_Pmp8 excerpt All right, what’s going on? everybody. It’s your Bro, hope you’re doing well, and in this video I’m going to help you started with html; so sit back, relax and enjoy the show. If y…...

HashMap的put方法执行过程

根据Key通过哈希算法与与运算得出数组下标如果数组下标位置元素为空&#xff0c;则将key和value封装为Entry对象&#xff08;JDK1.7中是Entry对象&#xff0c;JDK1.8中 是Node对象&#xff09;并放⼊该位置如果数组下标位置元素不为空&#xff0c;则要分情况讨论 a. 如果是JDK1…...

一、直方图相关学习

目录 1、灰度直方图1.1 基本概念和作用1.2 代码示例 2、BGR直方图2.1 基本概念和作用2.2 代码示例 3、灰度直方图均衡1. 基本概念和作用2. 代码示例 4、直方图变换&#xff08;查找&#xff09;4.1 基本概念和作用4.2 代码示例 5、直方图匹配5.1 基本概念和作用5.2 代码示例 6、…...

Linux 权限详解

目录 一、权限的概念 二、权限管理 三、文件访问权限的相关设置方法 3.1chmod 3.2chmod ax /home/abc.txt 一、权限的概念 Linux 下有两种用户&#xff1a;超级用户&#xff08; root &#xff09;、普通用户。 超级用户&#xff1a;可以再linux系统下做任何事情&#xff…...

零基础学习8051单片机(十五)

本次先看书学习&#xff0c;并完成了课后习题&#xff0c;题目出自《单片机原理与接口技术》第五版—李清朝 答: &#xff08;1&#xff09;当 CPU正在处理某件事情的时候&#xff0c;外部发生的某一件事件请求 CPU 迅速去处理&#xff0c;于是&#xff0c;CPU暂时中止当前的工…...

项目的一些难点

1.不用redis?分布式锁&#xff0c;如何防止用户重复点击&#xff1f; 1.乐观锁 乐观锁是一种在数据库层面上避免并发冲突的机制。它通常通过在数据库记录中添加一个版本号&#xff08;或时间戳&#xff09;来实现。每次更新记录时&#xff0c;都会检查版本号是否与数据库中的…...

Kubernetes 卷存储 NFS | nfs搭建配置 原理介绍 nfs作为存储卷使用

1、NFS介绍 NFS&#xff08;Network File System&#xff09;是一种分布式文件系统协议&#xff0c;允许客户端远程访问服务器上的文件&#xff0c;实现数据共享。它整合多个存储设备为统一文件系统&#xff0c;方便数据存储和管理&#xff0c;支持负载均衡和故障转移&#xf…...

开启智能互动新纪元——ChatGPT提示词工程的引领力

目录 提示词工程的引领力 高效利用ChatGPT提示词方法 提示词工程的引领力 近年来&#xff0c;随着人工智能技术的迅猛发展&#xff0c;ChatGPT提示词工程正逐渐崭露头角&#xff0c;为智能互动注入了新的活力。这一技术的引入&#xff0c;使得人机交流更加流畅、贴近用户需求&…...

ElasticSearch语法

Elasticsearch 概念 入门学习: Index索引>MySQL 里的表(table)建表、增删改查(查询需要花费的学习时间最多)用客户端去调用 ElasticSearch(3 种)语法:SQL、代码的方法(4 种语法) ES 相比于 MySQL&#xff0c;能够自动帮我们做分词&#xff0c;能够非常高效、灵活地查询内…...

SMT贴片加工厂需要哪些加工资料

SMT贴片加工中在评估报价的时候需要给到SMT贴片加工厂以下资料&#xff0c;以便工程师和采购进行工艺和报价评估。 在SMT加工中如果需要供应商提供一站式的加工服务&#xff0c;那么在前期就需要更频繁的沟通和配合&#xff0c;包工包料服务是需要PCB制板资料和制板说明、BOM清…...

jmeter下载base64加密版pdf文件

一、何为base64加密版pdf文件 如下图所示&#xff0c;接口jmeter执行后&#xff0c;返回一串包含大小写英文字母、数字、、/、的长字符串&#xff0c;直接另存为pdf文件后&#xff0c;文件有大小&#xff0c;但是打不开&#xff1b;另存为doc文件后&#xff0c;打开可以看到和…...

【regex】正则表达式

集合 [0-9.] [0-9.\-] 例子 正则表达式&#xff0c;按照规则写&#xff0c;写的时候应该不算困难&#xff0c;但是可读性差 不同语言中regex会有微小的差异 vim 需要转义&#xff0c; perl/python中不需要转义 锚位 \b am\b i am 命名 / 命名捕获组 ( 捕获组&#xff08;…...

78.Spring和SpringBoot的关系和区别?

一、Spring和SpringBoot的关系和区别 SpringBoot是Spring生态的产品。 Spring Framework是一个容器框架 SpringBoot 它不是一个框架、它是一个可以快速构建基于Spring的脚手架(里面包含了Spring和各种框架&#xff09;&#xff0c;为开发Spring生态其他框架铺平道路&#xff0…...

【PyTorch][chapter 17][李宏毅深度学习]【无监督学习][ Auto-encoder]

前言&#xff1a; 本篇重点介绍AE&#xff08;Auto-Encoder&#xff09; 自编码器。这是深度学习的一个核心模型. 自编码网络是一种基于无监督学习方法的生成类模型,自编码最大特征输出等于输入 Yann LeCun&Bengio, Hinton 对无监督学习的看法. 目录&#xff1a; AE 模型原…...

Modern C++ std::variant的实现原理

前言 std::variant是C17标准库引入的一种类型&#xff0c;用于安全地存储和访问多种类型中的一种。它类似于C语言中的联合体&#xff08;union&#xff09;&#xff0c;但功能更为强大。与联合体相比&#xff0c;std::variant具有类型安全性&#xff0c;可以判断当前存储的实际…...

⭐北邮复试刷题LCR 018. 验证回文串__双指针 (力扣119经典题变种挑战)

LCR 018. 验证回文串 给定一个字符串 s &#xff0c;验证 s 是否是 回文串 &#xff0c;只考虑字母和数字字符&#xff0c;可以忽略字母的大小写。 本题中&#xff0c;将空字符串定义为有效的 回文串 。 示例 1: 输入: s “A man, a plan, a canal: Panama” 输出: true 解释…...

3个步骤,让猫抓帮你轻松捕获网页视频资源

3个步骤&#xff0c;让猫抓帮你轻松捕获网页视频资源 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 你是否曾经遇到过这样的情况&#xff1f;在网…...

Retinaface+CurricularFace模型在智能门禁系统中的实战应用

RetinafaceCurricularFace模型在智能门禁系统中的实战应用 1. 引言 想象一下这样的场景&#xff1a;每天早晨上班高峰期&#xff0c;办公楼入口排着长队等待刷卡进门&#xff1b;访客需要在前台登记身份证&#xff0c;保安还要手动核对信息。这种传统门禁方式不仅效率低下&am…...

百川2-13B-Chat-4bits应用场景:开发者日常——代码审查、错误诊断、技术文档润色实战

百川2-13B-Chat-4bits应用场景&#xff1a;开发者日常——代码审查、错误诊断、技术文档润色实战 1. 引言&#xff1a;当大模型成为你的开发伙伴 想象一下这个场景&#xff1a;深夜&#xff0c;你盯着屏幕上那段运行了三次、报错信息却完全不同的代码&#xff0c;咖啡已经凉透…...

LiuJuan20260223Zimage开箱体验:基于Z-Image LoRA,这个专精模型到底有多好用?

LiuJuan20260223Zimage开箱体验&#xff1a;基于Z-Image LoRA&#xff0c;这个专精模型到底有多好用&#xff1f; 你有没有遇到过这样的情况&#xff1a;想用AI画一个特定的人物&#xff0c;比如你故事里的主角&#xff0c;或者一个IP形象&#xff0c;但生成的图片要么不像&am…...

Linux内核container_of宏解析与应用

1. 理解container_of宏的核心作用在Linux内核开发中&#xff0c;container_of宏是一个极其重要且频繁使用的工具。它的核心功能是通过结构体成员的地址反推出整个结构体的起始地址。想象一下&#xff0c;你手里只有一张照片的某个局部&#xff0c;却能准确找到这张照片在相册中…...

探秘HackGPT:一款强大的AI辅助开发工具

探秘HackGPT&#xff1a;一款强大的AI辅助开发工具 【免费下载链接】hackGPT I leverage OpenAI and ChatGPT to do hackerish things 项目地址: https://gitcode.com/GitHub_Trending/ha/hackgpt 在快速发展的科技领域&#xff0c;人工智能&#xff08;AI&#xff09;已…...

联想新品入局,AI智能终端市场格局生变

联想新品发布&#xff0c;直击Mac mini“养虾”痛点2026年3月31日&#xff0c;联想集团正式发布YOGA AI Mini与Think AI Tiny两款AI原生智能终端。其中&#xff0c;YOGA AI Mini面向个人消费市场&#xff0c;精准对标当下被众多用户用于运行OpenClaw的Mac mini。Mac mini虽因便…...

郭老师-悟性高的人,为何不合群?

悟性高的人&#xff0c;为何不合群&#xff1f; ——他们在独处中&#xff0c;与道同行“你以为他孤独&#xff0c; 其实—— 他正与万物对话。”&#x1f33f; 不合群&#xff0c;不是缺陷&#xff0c; 而是—— 为悟性留出呼吸的空间。&#x1f9d8; 一、独处 ≠ 孤独&#x…...

3DGS训练完模型怎么可视化?手把手教你用官方Viewer在Windows上查看结果

3DGS训练完模型怎么可视化&#xff1f;手把手教你用官方Viewer在Windows上查看结果 当你花费数小时甚至数天时间在Linux服务器上完成3D高斯泼溅(3DGS)模型的训练后&#xff0c;最令人兴奋的时刻莫过于亲眼看到自己的训练成果。本文将详细介绍如何将训练好的模型从Linux服务器迁…...

自适应滤波实战:如何用LMS算法在MATLAB/Simulink中快速搭建一个‘简易版’维纳滤波器?

自适应滤波实战&#xff1a;LMS算法在MATLAB/Simulink中的工程化实现 在信号处理领域&#xff0c;自适应滤波技术因其强大的环境适应能力而备受青睐。想象一下&#xff0c;你正在处理一段被噪声污染的语音信号&#xff0c;或是试图从复杂工业环境中提取有效振动特征——传统固定…...