[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); } } } }
相关文章推荐
- 嵌入式操作系统学习笔记:01.书籍与OS源码选择
- 开源项目链接汇总
- c++11condition_variable的wait与lock类型的匹配
- awk数组实战
- Buy or Build
- [C++]菱形图案
- [LeetCode]Search a 2D Matrix II
- 用python调用hive和sqoop
- 32.c/c++程序员面试宝典-类成员函数
- 通过Safari浏览器获取iOS设备UDID(设备唯一标识符)
- Linux环境下MySQL-python安装过程
- Python Learning Note
- Android Studio 快捷键
- iOS setter 与 getter方法
- SQL不同服务器数据库之间的数据操作整理(完整版)
- 《电磁兼容的印制电路设计》-第一章 概述
- g++编译出的多线程程序出错“segmentation fault"
- 判断客户端所用的浏览器
- dump_array 将数组内容格式化输出
- matlab中矩阵的左除右除