首页 > 代码库 > 【LeetCode】Combinations 解题报告
【LeetCode】Combinations 解题报告
好像自从上次 CSDN Blog 系统故障后,博文阅读量过百后系统不再发放C币,尽管我也不知道C币有啥用。
【题目】
Given two integers n and k, return all possible combinations of k numbers out of 1 ... n.
For example,
If n = 4 and k = 2, a solution is:
[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4], ]
题意:求 C(n, k) 的所有组合。
【组合生成算法】【回溯】
public class Solution { List<List<Integer>> ans = new ArrayList<List<Integer>>(); int n = 0; int k = 0; public List<List<Integer>> combine(int n, int k) { this.n = n; this.k = k; List<Integer> list = new ArrayList<Integer>(); backTracking(list, 1); return ans; } public void backTracking(List<Integer> list, int from) { if (list.size() == k) { List<Integer> newList = new ArrayList<Integer>(list); ans.add(newList); return; } for (int i = from; i <= n; i++) { list.add(i); backTracking(list, i + 1); list.remove(new Integer(i)); } } }
【LeetCode】Combinations 解题报告
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。