Я должен решить известную проблему заливки рекурсивно, не используя какой-либо модуль.
Моя функция должна получить матрицу «изображения», которая содержит «*» и «.», Икортеж, который указывает источник по строке и столбцу.Можно предположить, что рамка изображения заполнена только '*', а элемент начальной точки равен '.'.Функция должна изменить с самого начала все «.»'*' с правилами перемещения в заливке.
Итак, я написал код, который должен решить эту проблему, но функция, превышающая максимальную глубину рекурсии ...
Я искал проблему, как 2 часа и ничего.
Вот мой код:
def f_f(image, start):
i, j = start[0], start[1]
f_f_helper(image, i, j)
def f_f_helper(image, i, j):
if image[i][j] == '.':
image[i][j] = '*'
if i > 0:
f_f_helper(image, i - 1, j)
if i < len(image) - 1:
f_f_helper(image, i + 1, j)
if j > 0:
f_f_helper(image, i, j - 1)
if j < len(image[0]) - 1:
f_f_helper(image, i, j + 1)
И еще одна вещь, как формально рассчитать время работы с большимО записи?
Спасибо.