我有一個Card
實例的數組。如何根據此標準找到所有可能的組合?
Card[] allCards;
我應該得到這些卡所有可能的組合,在下列條件下:
- 所有組合都必須有一個最低的3張牌。
- 一個組合沒有卡片限制(所以如果總共有15張卡片,你知道可以有15張卡片組合,其他的13,10個卡片組合)。
對於大學目的,我不應該使用任何花哨的圖書館能夠更輕鬆地完成這項工作。
我已經完成了它對,當然,但考慮到沒有限制,我通常會做的算法不會工作。
這是相當多的,他們問這裏蟒蛇什麼:Find all possible combinations
任何想法?我不想要代碼或任何東西 - 我只是失去了算法/想法。
我的問題(更詳細)
我可以通過使兩個循環(一個在另一個內)配成對。我可以通過三個循環(一個在另一個之內)製作三胞胎。
但我不知道如何做到這一點的具體問題,因爲:
- 如果什麼陣列有15張卡?我不能寫15個循環...
- 然後當然我需要下到14,13,12個循環...(因爲所有的組合都不是每個15個元素,可以有14個,13,12個元素時使用這個15元素陣列)
我可以找到一些組合,但不是動態的。
我建議你在擔心效率之前先獲取可用的東西(至少在輸入數組很小的情況下)。如果你可以生成所有的對,你能用它來生成所有的三元組嗎? –
如果沒有代碼,不知道你在找什麼。您已經提到了您需要的內容:「所有組合的列表」,它反映了Google和Stack Overflow上的多個結果。有沒有一個特定的原因,爲什麼你的問題不能用這些解決? – Grambot
「獲得這些卡的所有可能的組合」究竟意味着什麼?在你必須輸出結果,或簡單顯示一個計數?那裏有很大的不同。 –