0
代碼,以生成數字列表的所有可能的組合,並與特定的總和取組合:生成所有可能的組合效率低下
combos = []
for each in combinations_with_replacement(list, number):
if sum(list(map(int, each))) == particular_number:
combos.append(list(map(int, each)))
的代碼工作完全正常。但問題是,如果在功能combinations_with_replacement數的說法是超過8則採取了大量的時間。有沒有一種優化的方式可以取代我的邏輯?
好一兩件事你可以做'名單(圖(INT,每個))'一次,並將其分配給一個變量,而不是作爲if語句的一部分,它裏面 –
請提供一個完整的小例子。謝謝 – nCessity
是的,有很多更有效的方法來做到這一點。也許先從紙上解決問題開始(用一個小號碼),然後看看你遵循什麼算法。我已將此視爲面試問題,因此您可能也能在網上找到解決方案。 – smarx