{ "type": "code_options", "author": "csdn.net", "source": "solution.md", "exercise_id": "0ae6182c437147868b6d3b219fa6dd63", "keywords": "数组,回溯", "title": "组合", "desc": [ { "content": "\n

给定两个整数 nk,返回 1 ... n 中所有可能的 k 个数的组合。

\n

示例:

\n
输入: n = 4, k = 2
输出:
[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4],]
", "language": "markdown" } ], "answer": [ { "content": "", "language": "java" } ], "prepared": [ [ { "content": "", "language": "java" } ], [ { "content": "", "language": "java" } ], [ { "content": "", "language": "java" } ] ], "template": { "content": "\nimport java.util.*;\n\npublic class Solution77 {\n\tList> output = new LinkedList<>();\n\tint n;\n\tint k;\n\n\tpublic void traceback(int first, LinkedList current) {\n\t\tif (current.size() == k) {\n\n\t\t\toutput.add(new LinkedList(current));\n\t\t\tSystem.out.println(output);\n\t\t\treturn;\n\t\t}\n\n\t\tfor (int i = first; i <= n; i++) {\n\n\t\t\tcurrent.add(i);\n\t\t\ttraceback(i + 1, current);\n\n\t\t\tcurrent.removeLast();\n\t\t}\n\t}\n\n\tpublic List> combine(int n, int k) {\n\t\tthis.n = n;\n\t\tthis.k = k;\n\t\ttraceback(1, new LinkedList<>());\n\t\treturn output;\n\t}\n}\n", "language": "java" }, "node_id": "dailycode-5d5d68a0fee64164be313bddd528142f", "license": "csdn.net", "created_at": 1637894159, "topic_link": "https://bbs.csdn.net/topics/600470921" }