235. 分解质因数:
将一个整数分解为若干质因数之乘积。
你需要从小到大排列质因子。
样例 1:
输入:
10
输出:
[2, 5]
样例 2:
输入:
660
输出:
[2, 2, 3, 5, 11]
原题传送门
题解
public class Solution {
/**
* @param num: An integer
* @return: an integer array
*/
public List<Integer> primeFactorization(int num) {
// write your code here
List<Integer> ret = new ArrayList<>();
if (num <= 3) {
ret.add(num);
} else {
int max = (int) Math.sqrt(num);
for (int i = 2; i <= max; i++) {
boolean has = false;
while (num % i == 0) {
num /= i;
ret.add(i);
has = true;
}
if (has) {
max = (int) Math.sqrt(num);
}
}
if (num > 1) {
ret.add(num);
}
}
return ret;
}
}
最后说两句
非常感谢你阅读本文章,如果你觉得本文对你有所帮助,请留下你的足迹,点个赞,留个言,多谢~
作者水平有限,如果文章内容有不准确的地方,请指正。
希望小伙伴们都能每天进步一点点。
本文由二当家的白帽子博客原创,转载请注明来源,谢谢~