JAVA_LeetCode 77_Combinations 풀이 class Solution { public List combine(int n, int k) { // 1부터 n까지의 범위중, k개의 숫자로 조합을 출력하기 // [1, 2]와 [2, 1]이 같다고 한 것을 보아, 요소 위치를 바꿔도 중복값으로 체크됨 // 이미 이전에 나온 값은 순서가 바꿔져도 횟수로 세지 않음 // 백트래킹을 이용하여 횟수를 체크함 List
list = new ArrayList(); back(1, n, list, new Stack(), k); return list; } public void back(int st, int n, List
list, Stack stack, int k){ // 스택 사이즈 비교 if(stack.size() == k){ list.add(new ArrayList(stack)); ...
원문 링크 : JAVA_LeetCode 77_Combinations