我有10個數字的數組。 我想從可用的10中選擇三個數字的所有組合。但是,順序不相關。那就是我不想以不同的順序組合相同的數字(1,2,3產生後2,3,1不應該出現)。此外,數字不應該在組合內重複(即不是1,1,1)。 我知道如何用foreach創建表格,但我一直在如何生成可能的組合。 感謝您的幫助!表中數組的組合
Q
表中數組的組合
3
A
回答
0
一個好方法是使用array_unique()
從陣列中刪除重複項。然後,每次使用元素時,都應該使用array_pop()
將其彈出,以便它不會再次使用。
0
數字不能重複,那麼這是否意味着1,2,1也是不允許的?如果是這樣,作爲第一步,刪除給定集合中的所有重複數字,正如死鎖所暗示的那樣。然後使用算法來查找組合。其他用戶提出的「重複」問題涵蓋了許多此類算法。
0
借款從user187291的回答here,以滿足您的需要進行一些修改,下面應該是你想要的東西:
$a = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
$len = count($a);
$list = array();
for($i = 1; $i < (1 << $len); $i++) {
$c = '';
for($j = 0; $j < $len; $j++)
if($i & (1 << $j))
$c .= ',' . $a[$j];
$list[] = ltrim($c, ',');
}
$answer = array();
foreach ($list as $comb)
{
if (3 == count(explode(',', $comb)))
{
$answer[] = $comb;
}
}
echo '<pre>' . print_r($answer, true);
相關問題
- 1. 數組的組合
- 2. 在Mathematica中組合數組?
- 3. 在VBA中組合數組
- 4. 數組函數的組合
- 5. 結合子數組中的數組值?
- 6. 查找數組中的組合總數?
- 7. 查找數組中的數字組合
- 8. 取消組合分組的表Scala中
- 9. 在整數數組列表中最常見的組合
- 10. AngularJS ngClass表達和數組組合
- 11. mysql - 組合表中的數據
- 12. C#數組組合
- 13. 數組元素的組合
- 14. 將數組組合到元組數組中 - 奇數長度
- 15. 數組中連續元素的組合
- 16. 查找數組組合的中點
- 17. 數組搜索和PHP中的組合
- 18. 查找數組中的所有組合
- 19. 集合中的Laravel排序組數組
- 20. 一個數組中的多個組合
- 21. r個組中元素的組合數
- 22. 組合框中的Javascript數組
- 23. Python,將列表和數組組合到配對列表中
- 24. 與數組合並表
- 25. 如何合併數組數組中的assiocative數組?
- 26. 受限整數組合的組合
- 27. 將數組合併到主數組中
- 28. 在單個數組中合併數組
- 29. 在類數組中合併數組
- 30. 合併數組對象數組中
你能告訴我們組合的一些例子嗎? – 2013-03-06 11:43:10
1,2,3 1,4,3 1,5,3 1,6,3 1,7,3 etc – Duncan 2013-03-06 11:44:52
你的問題不是一個好問題。你的問題沒有顯示任何努力找到答案,你已經嘗試過什麼,或者你想要實現什麼(除了做功課,我的猜測)。 看看建議可能的重複,我確定處理您的確切問題。如果沒有,請解釋原因。 – ExternalUse 2013-03-06 11:51:55