簡體   English   中英

如何減少內存使用這個程序遞歸

[英]how to reduce memory usage this program recursive

此函數返回 n 位數字數組,但它非常占用內存。 如何改進此功能以減少內存

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

您可以首先從遞歸中刪除結果列表。 因為對於每個遞歸調用,您都在創建一個新的結果列表。 相反,您應該在調用遞歸函數之前創建它一次並繼續將其作為函數參數傳遞。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM