0

我正在寻找一种快速的方法来查找 Array 中的单词并获取它们的字母索引。单词可以水平放置,垂直放置,对角放置,在每个方向(左-右、右-左、上-下、下-上、左下-右上、右上-下左、右下-左上、左上-右下)。主要问题是对角维度......我该怎么办?

例子:

Matrix:
   [['CHYD'],
    ['IAOB'],
    ['LGTA'],
    ['EFGE'],
    ['RXBW']]

Words:
   ['CAT',
    'DOG',
    'EGO',
    'RELIC',
    'TOY']

我需要用keys=Rowindex 和Value=[找到单词字母的列索引集] 获取字典。在我的示例中,我会发现:

  • 'CAT' 在 (0,0), (1,1), (2,2)
  • (0,3), (1,2), (2,1) 中的“狗”
  • (1,2), (2,1), (3,0) 中的“自我”
  • 'RELIC' 在 (0,0), (1,0), (2,0), (3,0), (4,0)
  • (0,2), (1,2), (2,2) 中的“玩具”
  • 'TAC' 在 (0,0), (1,1), (2,2)

我的最终输出是 Found_Word={0:[0,2,3], 1:[0,1,2], 2:[0,1,2], 3:[0], 4:[0] }

你能帮助我吗?我希望我很清楚:)

Ps 我可以使用所有基本的 Python 库(包含在 Anaconda Distribution 中),如 numpy、collecitions、itemtools 等。我不能使用全局变量或类。

4

0 回答 0