news 2026/4/15 8:04:56

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进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/9 20:48:00

Fillinger脚本:5分钟掌握Illustrator智能填充的终极指南

Fillinger脚本:5分钟掌握Illustrator智能填充的终极指南 【免费下载链接】illustrator-scripts Adobe Illustrator scripts 项目地址: https://gitcode.com/gh_mirrors/il/illustrator-scripts Fillinger脚本是Adobe Illustrator中一款革命性的智能填充工具&…

作者头像 李华
网站建设 2026/4/15 8:04:56

基因组比对神器MUMmer:从入门到精通的完整指南

基因组比对神器MUMmer:从入门到精通的完整指南 【免费下载链接】mummer Mummer alignment tool 项目地址: https://gitcode.com/gh_mirrors/mu/mummer MUMmer是一款专为大规模基因组序列比对设计的强大工具,能够快速高效地完成DNA和蛋白质序列的比…

作者头像 李华
网站建设 2026/4/10 22:24:15

Obsidian OCR实战指南:解锁图片PDF中的隐藏文字

还在为无法搜索图片和PDF中的文字而烦恼吗?Obsidian OCR插件来拯救你的知识管理效率!这款强大的文字识别工具能够深度集成到Obsidian笔记系统中,让你的图片和PDF文档变得"可搜索",彻底告别手动输入关键词的时代。 【免费…

作者头像 李华
网站建设 2026/4/3 9:15:46

微信消息拦截技术深度解析:从原理到实战

微信作为国内主流的即时通讯工具,其消息撤回机制为用户提供了信息修正的机会,但也催生了消息拦截技术的需求。本文将从技术原理、实战应用和安全风险三个维度,深入剖析基于十六进制编辑的消息拦截技术实现方案。 【免费下载链接】RevokeMsgPa…

作者头像 李华
网站建设 2026/3/27 7:08:12

智慧职教自动化学习工具完整使用手册

智慧职教自动化学习工具完整使用手册 【免费下载链接】hcqHome 简单好用的刷课脚本[支持平台:职教云,智慧职教,资源库] 项目地址: https://gitcode.com/gh_mirrors/hc/hcqHome 还在为重复的网课任务耗费大量时间而困扰吗?这款专为职业教育学生设计的智能学习…

作者头像 李华
网站建设 2026/4/12 21:18:36

ASTRAL实战指南:高效构建准确物种树的完整方案

ASTRAL实战指南:高效构建准确物种树的完整方案 【免费下载链接】ASTRAL Accurate Species TRee ALgorithm 项目地址: https://gitcode.com/gh_mirrors/ast/ASTRAL 在生物信息学领域,准确重建物种树是理解进化关系的关键挑战。ASTRAL(A…

作者头像 李华