2012-01-28 1 views
0

정수 배열 (예 : 0, 2, 4, 7)이 있습니다. 배열의 각 값을 배열의 다른 값과 결합하여 가능한 모든 조합 (예 : [0, 2], [0, 4], [0, 7]뿐만 아니라 [2, 0 ], [4, 0] 및 [7,0] 및 나머지 값에 대해서도 동일). 무엇을 달성하기위한 최선의 최선의 자원 (가공) 효과적인 방법은 무엇입니까? 배열의 값을 서로 결합하여 표시하려는 경우

가 처리 지점 (이하 "무언가를"코멘트) 내에서 당신에게

답변

2

으로 반복 ji+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]+"]"); 
    } 
} 
에서

예 : enter image description here

1
int[] arr = [...]; 

for(int i : arr){ 
    for(int j : arr){ 
    // Do something with both "i and j". 
    } 
} 

감사합니다, 당신은 결과를 인쇄하거나 새 배열이나 컬렉션에 조합 결과를 추가하는 것과 같은 간단한 일을 할 수 있습니다. (가능한 모든 조합을 필요로 후자는 메모리에 한 번에 저장할 수, 성능상의 이유로 덜 이상적 일 것이다 -. 대신 결과를 처리 당신이 그들을 생성으로)

관련 문제