我有一個整數(例如0,2,4,7)的數組。我想將數組中的每個值與數組中的另一個值結合起來,以便應該有每個組合可能(例如[0,2],[0,4],[0,7],但也可以是[2,0 ],[4,0]和[7,0],其他值相同)。什麼是最好和最資源(處理)有效的方式來實現呢?想要將數組的值相互組合並顯示它們
謝謝
我有一個整數(例如0,2,4,7)的數組。我想將數組中的每個值與數組中的另一個值結合起來,以便應該有每個組合可能(例如[0,2],[0,4],[0,7],但也可以是[2,0 ],[4,0]和[7,0],其他值相同)。什麼是最好和最資源(處理)有效的方式來實現呢?想要將數組的值相互組合並顯示它們
謝謝
迭代j
從i+1
for (int i = 0; i < arr.length; i++) {
for (int j = i+1; j < arr.length; j++) {
System.out.println("["+arr[i] +","+arr[j]+"]");
System.out.println("["+arr[j] +","+arr[i]+"]");
}
}
示例:
int[] arr = [...];
for(int i : arr){
for(int j : arr){
// Do something with both "i and j".
}
}
在加工點(即「做什麼」的評論),你可以做的打印結果,或添加組合結果到一個新的數組或集合一樣簡單。 (後來的將是性能方面的原因不太理想的,因爲這需要所有可能的組合將被存儲在內存中的一次 - 而不是處理結果爲你生成)