您的位置:首页 > 其它

[LeetCode]Factor Combinations

2015-11-26 16:23 246 查看
这个题目比较要注意的一点是如何防止重复。在dfs中,下一层的因子应该大于等于上一层的

public class Solution {
List<List<Integer>> result = new ArrayList<List<Integer>>();
public List<List<Integer>> getFactors(int n) {
if (n == 1) {
return result;
}
helper(n, new ArrayList<Integer>(), 2);
return result;
}
public void helper(int n, List<Integer> list, int pre) {
if (n == 1) {
if (list.size() > 1)
result.add(list);
return;
}
for (int i = pre; i <= n; i++) {
if (n % i == 0) {
List<Integer> l = new ArrayList<Integer>(list);
l.add(i);
helper(n / i, l, i);
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: