1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-01-10 18:48:13 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
leetcode-problemset/leetcode-cn/problem (Chinese)/提取咒文 [kjpLFZ].md
2023-05-15 17:43:00 +08:00

1.5 KiB
Raw Blame History

随着兽群逐渐远去,一座大升降机缓缓的从地下升到了远征队面前。借由这台升降机,他们将能够到达地底的永恒至森。 在升降机的操作台上,是一个由魔法符号组成的矩阵,为了便于辨识,我们用小写字母来表示。 matrix[i][j] 表示矩阵第 ij 列的字母。该矩阵上有一个提取装置,可以对所在位置的字母提取。 提取装置初始位于矩阵的左上角 [0,0],可以通过每次操作移动到上、下、左、右相邻的 1 格位置中。提取装置每次移动或每次提取均记为一次操作。

远征队需要按照顺序,从矩阵中逐一取出字母以组成 mantra,才能够成功的启动升降机。请返回他们 最少 需要消耗的操作次数。如果无法完成提取,返回 -1

注意:

  • 提取装置可对同一位置的字母重复提取,每次提取一个
  • 提取字母时,需按词语顺序依次提取

示例 1

输入:matrix = ["sd","ep"], mantra = "speed"

输出:10

解释:如下图所示 矩阵 (2).gif

示例 2

输入:matrix = ["abc","daf","geg"] mantra = "sad"

输出:-1

解释:矩阵中不存在 s ,无法提取词语

提示:

  • 0 < matrix.length, matrix[i].length <= 100
  • 0 < mantra.length <= 100
  • matrix 和 mantra 仅由小写字母组成