코드와이
순열과 조합 본문
순 열
package week0201_0205;
import java.util.Arrays;
public class permu {
static int N = 3;
static int[] numbers;
static boolean[] isSelected;
public static void main(String[] args) {
numbers = new int[3];
isSelected = new boolean[4];
perm(0);
}
public static void perm(int cnt) {
if ( cnt == 3) {
System.out.println(Arrays.toString(numbers));
return;
}
for(int i = 1; i <= N ; i++) {
if( isSelected[i] ) continue;
numbers[cnt] = i;
isSelected[i] = true;
perm(cnt + 1);
isSelected[i] = false;
}
}
}
<실행결과>
조 합
package week0201_0205;
import java.util.Arrays;
public class comb {
static int N = 5;
static int R = 3;
static int[] numbers = new int[R];
static int[] input = {1,2,3,4,5};
public static void main(String[] args) {
combi(0,0);
}
public static void combi(int cnt, int idx) {
if ( cnt == R ) {
System.out.println(Arrays.toString(numbers));
return;
}
for( int i = idx ; i < N ; i++) {
numbers[cnt] = input[i];
combi(cnt + 1, i + 1);
}
}
}
<실행결과>
'algorithm' 카테고리의 다른 글
[Back Tracking] N-Queen 예제 + 설명 (0) | 2021.02.18 |
---|---|
분할 알고리즘 예시(1) (0) | 2021.02.16 |
CompleteBinaryTree (0) | 2021.02.10 |
LinkedList (0) | 2021.02.10 |
부분집합 (0) | 2021.02.05 |