Leetcode 2521. 数组乘积中的不同质因数数目
https://leetcode.cn/problems/distinct-prime-factors-of-product-of-array/description/
给你一个正整数数组 nums ,对 nums 所有元素求积之后,找出并返回乘积中 不同质因数 的数目。
注意:
质数 是指大于 1 且仅能被 1 及自身整除的数字。
如果 val2 / val1 是一个整数,则整数 val1 是另一个整数 val2 的一个因数。
示例 1:
输入:nums = [2,4,3,7,10,6]
输出:4
解释:
nums 中所有元素的乘积是:2 * 4 * 3 * 7 * 10 * 6 = 10080 = 25 * 32 * 5 * 7 。
共有 4 个不同的质因数,所以返回 4 。
示例 2:
输入:nums = [2,4,8,16]
输出:1
解释:
nums 中所有元素的乘积是:2 * 4 * 8 * 16 = 1024 = 210 。
共有 1 个不同的质因数,所以返回 1 。
提示:
1 <= nums.length <= 10^4
2 <= nums[i] <= 1000
解答
分解质因数的模版
但是不能先求整个数的乘积, 1000的10^4太大;
所以每个元素都进行质因数分解。然后统计个数,使用哈希。
class Solution {
public:
int distinctPrimeFactors(vector<int>& nums) {
unordered_map<int, int> mm;
for (int i = 0; i < nums.size(); i++) {
int res = nums[i];
for (int i = 2; i <= res / i; i++) {
while (res % i == 0) {
res /= i;
mm[i]++;
}
}
if (res > 1) { mm[res]++; }
}
return mm.size();
}
};
作 者: itdef
欢迎转帖 请保持文本完整并注明出处
技术博客 http://www.cnblogs.com/itdef/
B站算法视频题解
https://space.bilibili.com/18508846
qq 151435887
gitee https://gitee.com/def/
欢迎c c++ 算法爱好者 windows驱动爱好者 服务器程序员沟通交流
如果觉得不错,欢迎点赞,你的鼓励就是我的动力
欢迎转帖 请保持文本完整并注明出处
技术博客 http://www.cnblogs.com/itdef/
B站算法视频题解
https://space.bilibili.com/18508846
qq 151435887
gitee https://gitee.com/def/
欢迎c c++ 算法爱好者 windows驱动爱好者 服务器程序员沟通交流
如果觉得不错,欢迎点赞,你的鼓励就是我的动力


标签:
leetcode
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
2019-12-22 acwing 883. 高斯消元解线性方程组
2019-12-22 acwing 861. 二分图的最大匹配 模板