leetcode: 77. 조합 (자바 딥 검색 (dfs) + 가지치기)
891 단어 알고리즘 시험 문제(java)
package LeetCode;
import java.util.ArrayList;
import java.util.List;
/*
n k, 1 ... n k 。
:
: n = 4, k = 2
:
[
[2,4],
[3,4],
[2,3],
[1,2],
[1,3],
[1,4],
]
*/
public class Combine {
public List> combine(int n, int k) {
List> res=new ArrayList<>();
List r=new ArrayList<>();
if (n<=0||k<=0||k>n)
return res;
combimedfs(n,k,1,r,res);
return res;
}
public void combimedfs(int n,int k,int i,List r,List> res){
if (r.size()==k){
res.add(new ArrayList(r));
return;
}
for (int j = i; j <=n ; j++) {
// r list
if ((n-j)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
leetcode: 77. 조합 (자바 딥 검색 (dfs) + 가지치기)텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.