题目描述
有一种特殊的加密算法,明文为一段数字串,经过密码本查找转换,生成另一段密文数字串。
规则如下:
- 明文为一段数字串由 0~9 组成
- 密码本为数字 0~9 组成的二维数组
- 需要按明文串的数字顺序在密码本里找到同样的数字串,密码本里的数字串是由相邻的单元格数字组成,上下和左右是相邻的,注意:对角线不相邻,同一个单元格的数字不能重复使用。
- 每一位明文对应密文即为密码本中找到的单元格所在的行和列序号(序号从0开始)组成的两个数宇。
如明文第 i 位 Data[i] 对应密码本单元格为 Book[x][y],则明文第 i 位对应的密文为X Y,X和Y之间用空格隔开。
如果有多条密文,返回字符序最小的密文。
如果密码本无法匹配,返回"error"。
请你设计这个加密程序。
示例1:
密码本:文章来源:https://www.toymoban.com/news/detail-833053.html
0 0 2文章来源地址https://www.toymoban.com/news/detail-833053.html
1 3 4
6 6 4
明文:"3",密文:"1 1"
示例2:
密码本:
0 0 2
到了这里,关于华为OD机试 - 特殊的加密算法(Java & JS & Python & C & C++)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!