2014-10-07 59 views
-3

編輯的所有可能的對組合:請注意,這個問題是不一樣的「生成所有可能的組合」我不是尋找一個簡單的笛卡爾積找到2個陣列

我需要編寫一個函數,產生2個給定數組的所有可能的配對組合的數組。因此,例如:

  1. A,B,C ...
  2. X,Y ...

我需要找到這些數字的所有對組合,所以它看起來像:

  • 組合1:斧,通過,C
  • 組合2:AY,BX,C
  • 組合3:斧,CY,b
  • 組合4:AY,CX,B
  • 等....

結果應該是對的列表的列表中,也對只能包含1號,如果初始集不是等於

感謝

-Alex

+1

在應用程序中'a-x'和'x-a'應該是不同的組合嗎? – Max 2014-10-07 11:40:51

+0

@ sriram-sakthivel對不起,但我沒有看到我的問題是如何重複你張貼的,我不是在尋找一個簡單的cartesion產品,我需要一個獨特的組合列表,其中組合是一個列表 – alex 2014-10-07 12:34:27

+0

@Max是的,但沒有必要,因爲我可以交換數組並重新運行它。此外,a-x不是組合,組合是全套配對:a-x,b-y,c – alex 2014-10-07 12:35:04

回答

0

讓陣列是A和B.假定A是不小於B,並且在乙每個元素必須被配對。 For each permutation A的A'生成配對,其中A'[0]與B [0]配對,並且A'[1]與B [1]配對,並且...,並且A'的剩餘元素是未成。

+0

謝謝,它是我所做的,我配對數組A到B與相應的索引,然後在每個排列週期結束時我旋轉數組,以獲得新的組合 – alex 2014-10-08 09:51:36