看板 [ Python ]
討論串[問題] 排除輸出重複數值的方法
共 6 篇文章
首頁
上一頁
1
2
下一頁
尾頁

推噓1(1推 0噓 6→)留言7則,0人參與, 最新作者bob123時間12年前 (2012/11/04 10:21), 編輯資訊
0
0
1
內容預覽:
-原文恕刪-. 之前有答過類似問題. 原文在 #1FYW0hPP (Programming). 我把原po問題分為3個步驟. 1. 不同容器,相同物品 的 排列組合. 2. 原PO有一個特別限制條件是翻轉一樣的要去掉. 3. 每個數字(容器內物品數) <= K (原po設為2). 1). from
(還有745個字)

推噓7(7推 0噓 4→)留言11則,0人參與, 最新作者apua (Apua)時間12年前 (2012/11/03 06:29), 編輯資訊
0
0
0
內容預覽:
其實要用世界奇觀來解決重複值的部份是可行的,而且幾乎不用變動您的結構. 主要是進入下一層迴圈時就要求 大於等於 上一層迴圈的值. 既然後面的值都不會比前面的值小 (遞增數列) 自然不會再有左右對稱而重複的問題。. 以下是小修後的原po程式碼,重點只有 ``range(a,x)`` ,即上述;. 而加
(還有953個字)

推噓0(0推 0噓 3→)留言3則,0人參與, 最新作者darkgerm (黑駿)時間12年前 (2012/11/03 03:20), 編輯資訊
0
0
0
內容預覽:
上一篇提到不需要產生所有排列. 突然想到其實 Python 的 itertools 也有"組合"可用. import itertools. x = 4. if __name__ == '__main__':. for data in itertools.combinations_with_repla
(還有73個字)

推噓2(2推 0噓 1→)留言3則,0人參與, 最新作者kdjf (我抓得到什麼呢?)時間12年前 (2012/11/03 01:32), 編輯資訊
0
0
0
內容預覽:
既然一開始就只看組合而已. for loop不用做出所有的項, 只要seq(i)<(or >)seq(i+1)就好. target=9 #要的合. max=7 #長度. def iter(priv,len):. for i in range(1,priv[len-1]+1):. new=priv+(
(還有72個字)

推噓1(1推 0噓 0→)留言1則,0人參與, 最新作者darkgerm (黑駿)時間12年前 (2012/11/02 06:57), 編輯資訊
0
0
0
內容預覽:
產生排列組合建意用遞回方式寫,而不是硬寫一推 for. ex:. x = 3. def DFS(data, deep):. if deep==9:. if sum(data)==9:. print data. return. for i in range(1, x):. DFS(data+[i],
(還有1031個字)
首頁
上一頁
1
2
下一頁
尾頁