Попытка выяснить самую большую фигуру в нескольких списках / массиве - PullRequest
0 голосов
/ 13 июля 2020

Я работал над программой, чтобы выяснить все основные формы соединения цветов в игре.

Я видел / думал о нескольких различных методах определения, какие формы где находятся.

Например, создание функции, имеющей все возможные формы, и выбор самой большой из них. (Слишком много времени и неэффективно.)

Я также видел несколько примеров, когда это преобразовывалось в матрицу 0-1, а затем индивидуально определялось, какой цвет является самой большой формой, и использовались отдельные функции для каждого цвета.

['r', 'r', 'y', 'g', 'y', 'y', 'y', 'g', 'g', 'g', 'g', 'g']
['y', 'y', 'r', 'y', 'r', 'y', 'g', 'g', 'y', 'r', 'r', 'r']
['g', 'g', 'r', 'r', 'y', 'y', 'g', 'g', 'y', 'r', 'r', 'y']
['r', 'r', 'g', 'g', 'y', 'g', 'r', 'y', 'y', 'r', 'r', 'g']
['g', 'g', 'g', 'r', 'g', 'y', 'r', 'g', 'y', 'r', 'r', 'r']
['y', 'r', 'r', 'g', 'y', 'g', 'g', 'r', 'r', 'g', 'b', 'g']

Выше указан размер матрицы / массива / нескольких списков. Кто-нибудь не возражает предоставить некоторые возможные эффективные решения в python, чтобы я мог, по крайней мере, получить представление? Я остановился.

Например, самый большой прямоугольник в приведенной выше форме будет следующим:

['r', 'r', 'y', 'g', 'y', 'y', 'y', 'g', 'g', 'g', 'g', 'g']
['y', 'y', 'r', 'y', 'r', 'y', 'g', 'g', 'y', |'r', 'r',| 'r']
['g', 'g', 'r', 'r', 'y', 'y', 'g', 'g', 'y', |'r', 'r',| 'y']
['r', 'r', 'g', 'g', 'y', 'g', 'r', 'y', 'y', |'r', 'r',| 'g']
['g', 'g', 'g', 'r', 'g', 'y', 'r', 'g', 'y', |'r', 'r',| 'r']
['y', 'r', 'r', 'g', 'y', 'g', 'g', 'r', 'r', 'g', 'b', 'g']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...