V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  lubanban  ›  全部回复第 1 页 / 共 1 页
回复总数  3
并发,JVM
200 分的第三题
解决:回溯
public LinkedList<List<Integer>> res = new LinkedList<>(); // 结果
public LinkedList<Integer> track = new LinkedList<>(); // 记录路径

public void solution(int[] nums, int k) {
backtrack(nums, 0, k);
System.out.println(res.toString());
}

public void backtrack(int[] nums, int satrt, int k) {
// 所有长度大于等于 K 的排列
if (track.size() >= k) {
res.add(new LinkedList<>(track));
}
for (int i = satrt; i < nums.length; i++) {
track.add(nums[i]); // 做选择
backtrack(nums, i + 1, k); // 只选择 start 之后的值,通过 start 参数控制树枝的遍历
track.removeLast(); // 撤销选择
}
}
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4173 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 16ms · UTC 10:07 · PVG 18:07 · LAX 03:07 · JFK 06:07
Developed with CodeLauncher
♥ Do have faith in what you're doing.