推 Sunal: 整數分割? 08/21 02:45
→ bigpigbigpig: 內建:沒有。先想想m個0和(n-1)個1有幾種不同的排列 08/21 08:44
→ bigpigbigpig: 更正:n個0和(m-1)個1 08/21 08:45
我有想過那種方法,可是itertools.permutations是對於no_repeat作排列
直接用再把一樣的情況去掉的話會有MemoryError
我不知道有沒有對於有重複element的permutations
所以我的方法是...
[ n , 0 , 0 , 0 ,....., 0](m-1個0)
[n-1, 1 , 0 , 0 ,....., 0]
[n-1, 0 , 1 , 0 ,....., 0]
......
[n-1, 0 , 0 , 0 ,....., 1]
[n-2, 2 , 0 , 0 ,....., 0]
[n-2, 1 , 1 , 0 ,....., 0]
以此類推,直到
[0 , 0 , 0 , 0 ,....., n]結束
※ 編輯: ssd860505da (220.136.57.196), 08/21/2016 10:59:34
※ 編輯: ssd860505da (220.136.57.196), 08/21/2016 11:00:47
→ bigpigbigpig: 方向正確,m,n不大的話,可用set來篩選不重複的排列 08/21 11:16
→ bigpigbigpig: 有效率的解決方法看下面這篇: 08/21 11:32