Решил использовать HashMap для построчной записи координат ячеек, которые принадлежат к прямоугольникам, а далее сравнивать ряд с предыдущим и фиксировать изменения в координатах как +прямоугольники. Да, время O(n), но не придумал как сделать без полного перебора ячеек. По идее должно работать, но на своем примере массива а3 - не работает корректно. Ну и валидатор соответственно не принимает. Подскажите, в чем ошибка?