Я только изучаю Матрицу и алгоритм. я складываю на один вопрос, который я еще не мог решить. Вопрос в том,
матрица, состоящая из целых значений
#[0 0 0 2 2]
#|1 1 7 2 2|
#|2 2 7 2 1|
#|2 1 7 4 4|
#|2 7 7 4 4|
#|4 6 6 0 4|
#|4 4 6 4 4|
#[4 4 6 4 4]
Область определяется, когда несколько одинаковых значений соединены вместе (по горизонтали или по вертикали). Например, с помощью приведенной выше матрицы мы можем найти следующие области
#[0 0 0 * *]
#|* * * * *|
#|* * * * *|
#|* * * * *|
#|* * * * *|
#|* * * * *|
#|* * * * *|
#[* * * * *]
#[* * * 2 2]
#|* * * 2 2|
#|* * * 2 *|
#|* * * * *|
#|* * * * *|
#|* * * * *|
#|* * * * *|
#[* * * * *]
#[* * * * *]
#|1 1 * * *|
#|* * * * *|
#|* * * * *|
#|* * * * *|
#|* * * * *|
#|* * * * *|
#[* * * * *]
Проблема заключается в реализации функции "Найти количество элементов самой большой области", которая находит самую большую область (область, состоящую из наибольшего количества элементов) и возвращает количество элементов из этой области. Например, в приведенной выше матрице самая большая площадь:
#[* * * * *]
#|* * * * *|
#|* * * * *|
#|* * * 4 4|
#|* * * 4 4|
#|* * * * 4|
#|* * * 4 4|
#[* * * 4 4]
Итак, функция вернет 9 (область состоит из 9 элементов).
Любая помощь, пожалуйста, по этому вопросу, как мне решить? лучший способ ?
Спасибо..