public class Solution {
public ArrayList<ArrayList<Integer>> ret;
public ArrayList<ArrayList<Integer>> combine(int n, int k) {
// Start typing your Java solution below
// DO NOT write main() function
ret = new ArrayList<ArrayList<Integer>>();
find(0,k,1,n,new ArrayList<Integer>());
return ret;
}
private void find(int lev,int k,int now,int n,ArrayList<Integer> ans){
if(lev==k)
ret.add(new ArrayList<Integer>(ans));
for(int i=now;i<=n;i++){
ans.add(i);
find(lev+1,k,i+1,n,ans);
ans.remove(ans.size()-1);
}
}
}
现在才切实感受到原来就是遍历树,剪掉不合适的。
Combinations
最新推荐文章于 2024-10-30 17:12:55 发布