Эффективная итерация по матрице в Python - PullRequest
0 голосов
/ 16 сентября 2018

У меня есть 2D (nxm) массив, и даны записи 1-й строки и 1-го столбца. Первоначально элементы в матрице являются «X» за исключением первой строки и столбца. Наконец, элементы в массиве - это либо «L», либо «W». Элемент (0,0) не имеет значения. Я взял его за «-» в приведенном ниже примере.

For Example: l=[- W L W]
               [L X X X]
               [W X X X] .

Здесь n = 3 и m = 4, теперь я начинаю итерацию с l [1] [1].

Я должен проверить только те ячейки, которые находятся сверху и слева, если он, т.е. (0,1) и (1,0) в случае (1,1).

Если один из них (либо левая, либо верхняя) содержит «L», то l [1] [1] будет заполнено буквой «W», иначе «L». В случае l [1] [1] он будет заполнен буквой «W», поскольку оставленная ячейка, т. Е. (1,0) содержит букву «L».

Теперь весь процесс должен быть повторен, и я должен заполнить всю матрицу либо "L", либо "W" в соответствии с приведенным выше условием.

Я пытался использовать грубую силу (перебирая все элементы, а затем проверяя левую и верхнюю ячейки). Я ищу более эффективное решение.

Окончательная матрица из приведенного выше примера будет выглядеть следующим образом после заполнения всех элементов в соответствии с заданным условием:

l=[- W L W]
  [L W W L]
  [W L W W]

Кроме того, я пытаюсь реализовать это в Python.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...