как уменьшить использование памяти этой программой рекурсивно - PullRequest
1 голос
/ 23 марта 2020

Эта функция возвращает массив с номером n di git, но использует очень много памяти. Как я могу улучшить это удовольствие c для уменьшения памяти

def think(n=5):
    if n == 1:
        return ([str(i) for i in range(1,10)])
    else :
        result = []
        # result1 = think(n-1)
        for i in think(n-1):
            for j in range(10):
                result.append(i+str(j))
        return result

1 Ответ

0 голосов
/ 23 марта 2020

Вы можете начать с удаления списка результатов из рекурсии. Потому что для каждого рекурсивного вызова вы создаете новый список результатов. Вместо этого вы должны создать его один раз перед вызовом рекурсивной функции и продолжать передавать его в качестве параметра функции.

...