Как посчитать группы одинаковых ячеек в 2d массиве?

Вот'Вот пример (считая черных):

вход:

выход:

5 4 // 5 groups (4 squares each)
1 1 // 1 group containing 1 square

Сейчас я могуНе думаю, что что-то лучше, чем больно для итерации. Возможно ли получить эти группы рекурсивным способом? Спасибо

Ответы на вопрос(3)

Ваш ответ на вопрос