题目解析
题目关键说明如下:
需要按明文串的数字顺序在密码本里找到同样的数字串,密码本里的数字串是由相邻的单元格数字组成,上下和左右是相邻的
明文第 i 位 Data[i] 对应密码本单元格为 Book[x][y],则明文第 i 位对应的密文为X Y
题目示例3图示
此时密码本多个路径可以对应为明文,分别为:
- (0,0) -> (0,1) -> (0,2) -> (0,3)
- (0,0) -> (0,1) -> (0,2) -> (1,2)
其中0 0 0 1 0 2 0 3字典序更小。
本题可以使用深度优先搜索DFS解题,思路如下:
首先,在密码本矩阵中找到元素值=明文第一个数字的所有元素位置,记录到集合starts中。
然后,遍历starts每一个位置,作为