代码随想录算法训练营第二十四天| 77. 组合

发布时间:2024年01月20日

77.组合

public  List<List<Integer>> combine(int n, int k) {
    if (n < k) {
        return null;
    }
    List<List<Integer>> list = new ArrayList<>();
    List<Integer> path = new ArrayList<>();
    backSource(n, path, list, k);
    return list;

}

public  void backSource(int n, List<Integer> path, List<List<Integer>> list, int k) {
    if (path.size() > k) {
        return;
    }

    if (path.size() == k) {
        list.add(new ArrayList<>(path));
        return;
    }

    for (int i = 1; i <= n; i++) {
        if (!path.contains(i)) {
            path.add(i);
            backSource(i, path, list, k);
            path.remove(path.size() - 1);
        }

    }

}
文章来源:https://blog.csdn.net/m0_37767445/article/details/135722021
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。