Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0 Star 0 Fork 0

徐云天/leetcode

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
_77.java 1.40 KB
一键复制 编辑 原始数据 按行查看 历史
徐云天 提交于 2021-07-01 10:45 +08:00 . 增加77
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
public class _77 {
static class Solution1 {
public List<List<Integer>> combine(int n, int k) {
List<List<Integer>> res = new ArrayList<>();
dfs(new ArrayList<>(), res, n, 1, k);
return res;
}
public void dfs(List<Integer> path, List<List<Integer>> res, int n, int cur, int k) {
if (path.size() == k) {
res.add(new ArrayList<>(path));
return;
}
if (cur > n) return;
path.add(cur);
dfs(path, res, n, cur + 1, k);
path.remove(path.size() - 1);
dfs(path, res, n, cur + 1, k);
}
}
static class Solution2 {
public List<List<Integer>> combine(int n, int k) {
LinkedList<List<Integer>> q = new LinkedList<>();
q.offer(new ArrayList<>());
while (q.peekFirst().size() < k) {
List<Integer> cur = q.poll();
int limit = 1;
if (cur.size() != 0) {
limit = cur.get(cur.size() - 1) + 1;
}
for (int i = limit; i <= n; i++) {
List<Integer> copy = new ArrayList<>(cur);
copy.add(i);
q.offer(copy);
}
}
return q;
}
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/xuyuntian/leetcode.git
git@gitee.com:xuyuntian/leetcode.git
xuyuntian
leetcode
leetcode
master