У меня есть матовая матрица, которая выглядит следующим образом:
matrix = [[0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 1., 1., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
1., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]
Как бы получить длину самой длинной последовательности 1 или 0? Кроме того, как бы я получил их начальную и конечную позиции?
Есть ли более простой способ сделать это?
Формат вывода является гибким, если он обозначает индекс внутреннего списка, значение длины и индексы списка значений.
Пример:
Самые длинные: 1, 16, 2, 17
(индекс внутреннего списка, длина, самое длинное начало индекса 1 с последовательности, самое длинное положение конца 1 с позиции).
или [1, 16, 2, 17] / (1, 16, 2, 17)
Самые длинные нули: 2, 45, 0, 45
Не дубликат этих вопросов, поскольку это касается матрицы:
найти начальную позицию самой длинной последовательности 1-х
Результат (самый длинный) следует учитывать среди всех списков.
Счетчик последовательности не продолжается, когда он достигает конца внутреннего списка.