帮楼主贴一个代码 List<List<Integer>> res; public List<List<Integer>> getFactors(int n) { res = new ArrayList<>(); backtrack(new LinkedList<>(), n, 1, n); return res; } private void backtrack(LinkedList<Integer> list, int target, int now, int n) { if (target == now) { res.add(new ArrayList<>(list)); return; } for (int i = 2; i < target; i++) { if (n % i == 0 && (list.isEmpty() || list.peekLast() >= i)) { list.addLast(i); backtrack(list, target, i * now, n / i); list.removeLast(); } } }
2 4

相关推荐

做个有文化的流氓:不想当将军的士兵不是好士兵
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务