想要将数组的值相互组合并显示它们
问题描述:
我有一个整数(例如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".
}
}
在加工点(即“做什么”的评论),你可以做的打印结果,或添加组合结果到一个新的数组或集合一样简单。 (后来的将是性能方面的原因不太理想的,因为这需要所有可能的组合将被存储在内存中的一次 - 而不是处理结果为你生成)