320x100
문제 : https://leetcode.com/problems/combinations/
백트래킹 문제.
for(i = 현재 탐색중인 인덱스 ~ n){
arr 배열 뒤에 i 추가
재귀함수(i+1, arr); // 인덱스를 i+1부터 다시 탐색
arr 배열 뒤에 i 제거
}
위와 같은 재귀함수를 만들어서 arr 배열 크기가 k라면 정답 배열에 arr을 추가한다.
시간복잡도는 K크기의 배열을 만들므로 대충 O(N! / (N-K)!) 이 정도 나올듯.
소스코드 : https://github.com/fpdjsns/Algorithm/blob/master/leetcode/medium/77.%20Combinations.cpp
320x100
'알고리즘 문제 > Leetcode' 카테고리의 다른 글
[Leetcode] 203. Remove Linked List Elements (0) | 2021.11.13 |
---|---|
[Leetcode] 1413. Minimum Value to Get Positive Step by Step Sum (0) | 2021.11.11 |
[Leetcode] 43. Multiply Strings (0) | 2021.11.08 |
[Leetcode] 94. Binary Tree Inorder Traversal (0) | 2021.11.05 |
[Leetcode] 67. Add Binary (0) | 2021.11.04 |
댓글