254. Factor Combinations

就是backtracking

 1     public List<List<Integer>> getFactors(int n) {
 2         List<List<Integer>> res = new ArrayList<List<Integer>>();
 3         helper(res, new ArrayList<Integer>(), n, 2);
 4         return res;
 5     }
 6     
 7     private void helper(List<List<Integer>> res, List<Integer> item, int n, int start) {
 8         for(int i = start; i * i <= n; i++) {
 9             if(n % i == 0) {
10                 item.add(i);
11                 List<Integer> curComb = new ArrayList<Integer>(item);
12                 curComb.add(n / i);
13                 res.add(curComb);
14                 helper(res, item, n / i, i);
15                 item.remove(item.size() - 1);
16             }
17         }
18     }

要注意的是

helper函数需要有一个int start记录开始的点,不然比如说分解12的时候会有重复,[2,2,3],[3,2,2]会变成两组加进去,所以每次分解的时候不能比上一次的factor大

转载于:https://www.cnblogs.com/warmland/p/5759502.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/418181.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据的个人视角:数据可视化的意义

当谈论到数据可视化对个人用户的实用价值时&#xff0c;很多人可能会想到它仅适用于企业或专业领域。然而&#xff0c;数据可视化对个人用户同样具有重要的实用价值。本文将从可视化从业者的角度出发&#xff0c;简单说说数据可视化对个人用户的实用价值。 首先&#xff0c;数…

昨天下午施加开始给我们讲业务流程今天说是会继续

其实对于某种情况下的亡羊补牢也不是没有效果&#xff0c;昨天手机是只有11g的机身内存&#xff0c;然后其他的方面就是妈妈不知道怎么插卡还重启了多次。 转载于:https://www.cnblogs.com/bkchengzheng/p/5763483.html

线程的通信

//线程通信 //线程1 线程2 交替打印1——100 //wait()和notify()方法需要在一个监视器的同步代码块 中或者是同一个同步方法中// wait()&#xff1a;线程从运行状态进入阻塞状态&#xff0c;并且释放锁 // notify():一旦执行此方法就会唤醒被wait的一个线程&#xff0c;如果多个…

Python Tricks(十九)—— switch 的实现

python 原生语法不支持 switch&#xff0c;体现了 Python 大道至简的设计思路&#xff0c;有时为了避免啰嗦的 if elif等判断语句&#xff0c;我们可以用字典来代替 switch 的各分支&#xff0c;也即建立表达式和操作的映射。 def add(x, y):return x y def sub(x, y):return …

java中 wait()和sleep()的差异

相同点&#xff1a;一旦执行该两种方法&#xff0c;当前的线程都会进入阻塞状态 不同点&#xff1a;&#xff08;1&#xff09;两个方法声明的位置不同&#xff0c;Thread类中生命sleep(),Object类中生命wait() (2)调用的要求不同&#xff1a;sleep&#xff08;&#xff09;在…

unicode 与 utf-8

unicode 计算机的世界是二进制的世界&#xff0c;无论文字音频传输存储之时都要落实到二进制上。而起源于西方的计算机技术自然深根于他们的文化&#xff0c;于是最初的ascii码基本只是西方的文字编码集。随着计算机的普及&#xff0c;各个国家各个民族基本都为自己的文字创立了…

线程通信的经典问题:生产者消费者问题

package ThreadTest2; // 线程通信的经典问题&#xff1a;生产者消费者//店员&#xff08;资源&#xff09; class Clerk{private int productCount 0 ;public synchronized void produceProduct() {if(productCount < 100 ) {productCount;System.out.println(Thread.curr…

ServiceStack学习之一准备工作

GitHub&#xff1a;https://github.com/ServiceStack/ServiceStack/wiki 官网介绍的前期准备知识&#xff1a; Wikipedia article about HTTP and HTTP verbs HTTP status codesHTTP headers REST wikipedia article SOAP wikipedia articleSearch一下&#xff0c;以下博客讲的…

2013-2014 ACM-ICPC, NEERC, Southern Subregional Contest Problem C. Equivalent Cards 计算几何

Problem C. Equivalent Cards题目连接&#xff1a; http://www.codeforces.com/gym/100253 Description Jane is playing a game with her friends. They have a deck of round cards of radius 100. Each card has a set of disjoint rectangles strictly within the bounding…

String类中不同拼接方式

有变量名参与都不是在常量池中了&#xff0c;类似于new

使用JMeter创建数据库(Mysql)测试

我的环境&#xff1a;MySQL&#xff1a;mysql-essential-5.1.51-win32 jdbc驱动&#xff1a;我已经上传到csdn上一个&#xff1a;http://download.csdn.net/source/3451945 JMeter&#xff1a;jmeter-2.4 任意版本都行。 1.首先我们要有一个可以做测试的数据库&#xff0c;当然…

dtrace

http://dtrace.org/guide/bookinfo.html转载于:https://www.cnblogs.com/WCFGROUP/p/5786990.html

[转载]如何判断js中的数据类型

原文地址&#xff1a;如何判断js中的数据类型作者&#xff1a;最初的你如何判断js中的数据类型&#xff1a;typeof、instanceof、 constructor、 prototype方法比较 如何判断js中的类型呢&#xff0c;先举几个例子&#xff1a; var a "iamstring."; var b 222; var…

String类与其他数据类型得转换

一&#xff1a;与基本数据类型或者包装类 二、String与char型数组得转换 三、String类与字节数组byte[]之间的转换 输出的是字符中得ASCII码。 getBytes使用的默认得编码集 可以自主设置编码集否则为默认编码集 输出&#xff1a;

字符串类中的StringBuffer,StringBuilder

StringBuffer类的常用方法 &#xff0c; String StringBuffer,StringBuilder的效率