news 2025/12/24 5:53:00

18.华为OD-特殊的加密算法详解与Java实现(2024年OD D卷)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
18.华为OD-特殊的加密算法详解与Java实现(2024年OD D卷)

📋 题目概述

问题描述

特殊的加密算法要求我们在一个数字矩阵(密码本)中寻找一条路径,该路径上的数字序列与明文数字序列完全匹配。加密过程是将路径中每个单元格的坐标(行号和列号)按顺序输出,形成密文。

核心规则

  1. 明文结构:由0-9数字组成的字符串,数字间可能有空格分隔

  2. 密码本结构:0-9数字组成的二维数组

  3. 路径约束

    • 路径中相邻单元格必须是上下左右相邻(对角线不相邻)

    • 每个单元格只能使用一次

    • 路径上的数字序列必须与明文完全一致

  4. 密文格式:每个数字对应两个坐标值(行 列),坐标值用空格分隔

  5. 结果要求:如有多条密文,返回字符序最小的密文;如无法匹配,返回"error"

🎯 算法设计思路

问题本质分析

这是一个典型的图搜索问题,可以建模为:

  • 节点:密码本中的每个单元格

  • :相邻单元格之间的连接(上下左右)

  • 目标:寻找一条路径,路径上的数字序列等于明文序列

解决方案:DFS + 回溯算法

核心算法流程

flowchart TD A[开始] --> B[读取密码本和明文] B --> C[预处理数据] C --> D{明文长度>0?} D -->|否| E[返回空字符串] D -->|是| F[寻找所有起点] F --> G[对每个起点进行DFS搜索] G --> H{找到完整路径?} H -->|是| I[保存路径] H -->|否| J[继续搜索] I --> K[所有路径搜索完成] J --> K K --> L{有找到路径?} L -->|否| M[返回"error"] L -->|是| N[按字典序排序路径] N --> O[选择最小字典序路径] O --> P[构建密文字符串] P --> Q[输出结果]

💻 Java代码实现

完整代码

package com.study.algorithm.HuaweiOD.特殊的加密算法; import java.util.ArrayList; import java.util.List; import java.util.Scanner; /** * 华为OD-特殊的加密算法 * 2024年OD(D卷)详解与Java实现 * * @author Tony_Yi * @date 2025/12/21 */ public class SpecialEncryption { // 四个方向:上、下、左、右 private static final int[][] DIRECTIONS = { {-1, 0}, {1, 0}, {0, -1}, {0, 1}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/24 5:52:36

Sketch文本查找替换革命:释放设计生产力的终极武器

Sketch文本查找替换革命:释放设计生产力的终极武器 【免费下载链接】Sketch-Find-And-Replace Sketch plugin to do a find and replace on text within layers 项目地址: https://gitcode.com/gh_mirrors/sk/Sketch-Find-And-Replace 在当今快节奏的设计环境…

作者头像 李华
网站建设 2025/12/24 5:51:19

USB协议过压保护电路从零实现指南

从零构建USB过压保护电路:工程师实战全解析你有没有遇到过这样的情况?一台精心设计的嵌入式设备,插上某个“杂牌”充电器后突然冒烟,主控芯片直接锁死。拆开一看,VBUS线上电压飙到了12V——而你的MCU绝对最大额定值才6…

作者头像 李华
网站建设 2025/12/24 5:51:17

如何用5个步骤构建高精度谐波赤道仪:天文摄影终极指南

如何用5个步骤构建高精度谐波赤道仪:天文摄影终极指南 【免费下载链接】AlkaidMount HarmonicDrive equatorial mount 项目地址: https://gitcode.com/gh_mirrors/al/AlkaidMount Alkaid Mount是一款专为天文爱好者设计的开源谐波赤道仪项目,能够…

作者头像 李华
网站建设 2025/12/24 5:51:09

Perlego电子书PDF下载终极指南:三步实现高效离线阅读

Perlego电子书PDF下载终极指南:三步实现高效离线阅读 【免费下载链接】perlego-downloader Download books from Perlego.com in PDF format 项目地址: https://gitcode.com/gh_mirrors/pe/perlego-downloader 你是否曾经在Perlego平台上购买了一本重要的学术…

作者头像 李华
网站建设 2025/12/24 5:50:48

如何让你的惠普OMEN游戏本性能翻倍:OmenSuperHub终极使用指南

如何让你的惠普OMEN游戏本性能翻倍:OmenSuperHub终极使用指南 【免费下载链接】OmenSuperHub 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 还在为你的惠普OMEN游戏本性能不稳定而烦恼吗?想要彻底释放硬件潜能,享受丝滑…

作者头像 李华
网站建设 2025/12/24 5:46:36

CREO到URDF转换终极指南:快速构建机器人仿真模型

CREO到URDF转换终极指南:快速构建机器人仿真模型 【免费下载链接】creo2urdf Generate URDF models from CREO mechanisms 项目地址: https://gitcode.com/gh_mirrors/cr/creo2urdf 在机器人技术快速发展的今天,如何将专业的CAD设计无缝转换为仿真…

作者头像 李华