我有一個包含唯一編號的數組,如[2,3,4]
。 我有一個包含一些數字包括像a2 = [1,2,2,3,4,4,3,5,6,7]
如何從包含另一個數組的所有元素的數組中獲得所有可能的組合
我想從陣列-2所有可能的組合具有陣列1 像[a2[1],a2[3],a2[4]]
,[a2[2],a2[3],a2[4]]
等
我有一個包含唯一編號的數組,如[2,3,4]
。 我有一個包含一些數字包括像a2 = [1,2,2,3,4,4,3,5,6,7]
如何從包含另一個數組的所有元素的數組中獲得所有可能的組合
我想從陣列-2所有可能的組合具有陣列1 像[a2[1],a2[3],a2[4]]
,[a2[2],a2[3],a2[4]]
等
的所有值複製另一個數組你需要做遞歸。我編寫了一些能夠讓你走向正確方向的東西。這也許是工作,但我沒有測試它:
public static void main(String[] args) {
int[] a1 = new int[]{2,3,4};
int[] a2 = new int[]{1,2,2,3,4,4,3,5,6,7};
recursion(a1,a2, new String());
}
public static void recursion(int[] a1, int[] a2, String soFar){
int toSearch = a1[0];
for(int i=0;i<a2.length;i++){
if(a2[i] == toSearch){
if(a1.length>1) {
int[] a1b = new int[a1.length - 1];
for (int j = 1; j < a1.length; j++) {
a1b[j - 1] = a1[j];
}
recursion(a1b, a2, soFar+ "a2["+i+"]");
}
else {
System.out.println(soFar+ "a2["+i+"]");
}
}
}
}
輸出是:
a2[1]a2[3]a2[4]
a2[1]a2[3]a2[5]
a2[1]a2[6]a2[4]
a2[1]a2[6]a2[5]
a2[2]a2[3]a2[4]
a2[2]a2[3]a2[5]
a2[2]a2[6]a2[4]
a2[2]a2[6]a2[5]
感謝Markus。它工作 –
很高興知道:)然後請upvote我的答案並將其標記爲正確的答案。謝謝! – Markus
嘗試新鮮事物了嗎? –
無法啓動邏輯 –
這看起來像一個子序列問題。您應該標記算法而不是java。 – iavanish