news 2026/6/11 15:07:17

leetcode 1390

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
leetcode 1390

1390: 四因数

思路一:枚举

我们可以遍历数组 nums 中的每个元素,依次判断这些元素是否恰好有四个因数。对于任一元素 x,我们可以用类似质数判定的方法得到它的因数个数,其本质为:如果整数 x 有因数 y,那么也必有因数 x/y,并且 y 和 x/y 中至少有一个不大于 sqrt(x)。这样我们只需要在 [1, sqrt(x)] 的区间内枚举可能为整数 x 的因数 y,并通过 x/y 得到整数 x 的其它因数。

如果 x 恰好有四个因数,我们就将其因数之和累加到答案中。

class Solution { public: int sumFourDivisors(vector<int>& nums) { int ans=0; for(int x:nums){ int cnt=0,total=0; for(int i=1;i<=sqrt(x);i++){ int j=x/i; if(j*i==x){ if(j==i){ cnt++; total+=i; } else{ cnt+=2; total+=i+j; } } } if(cnt==4) ans+=total; } return ans; } };

进阶:埃拉托斯特尼筛法(埃氏筛)

class Solution { public: int sumFourDivisors(vector<int>& nums) { // C 是数组 nums 元素的上限,C3 是 C 的立方根 int C = 100000, C3 = 46; vector<int> isprime(C + 1, 1); vector<int> primes; // 埃拉托斯特尼筛法 for (int i = 2; i <= C; ++i) { if (isprime[i]) { primes.push_back(i); } for (int j = i + i; j <= C; j += i) { isprime[j] = 0; } } // 通过质数表构造出所有的四因数 unordered_map<int, int> factor4; for (int prime: primes) { if (prime <= C3) { factor4[prime * prime * prime] = 1 + prime + prime * prime + prime * prime * prime; } } for (int i = 0; i < primes.size(); ++i) { for (int j = i + 1; j < primes.size(); ++j) { if (primes[i] <= C / primes[j]) { factor4[primes[i] * primes[j]] = 1 + primes[i] + primes[j] + primes[i] * primes[j]; } else { break; } } } int ans = 0; for (int num: nums) { if (factor4.count(num)) { ans += factor4[num]; } } return ans; } };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 15:13:23

UDS NRC错误响应处理实战案例详解

UDS诊断中NRC错误响应的实战解析&#xff1a;从机制到代码落地在一次车载ECU刷写任务中&#xff0c;诊断仪发出27 01请求获取种子&#xff0c;却连续收到7F 27 33——安全访问被拒。现场工程师第一反应是“密钥没配对”&#xff0c;可明明昨天还能通信。三天后才发现&#xff0…

作者头像 李华
网站建设 2026/6/7 20:12:43

量子计算准备:海量语音数据预处理基础设施

量子计算准备&#xff1a;海量语音数据预处理基础设施 在人工智能模型日益复杂的今天&#xff0c;一个被广泛忽视却至关重要的问题浮出水面&#xff1a;再先进的模型&#xff0c;也跑不出劣质数据的局限。 尤其是在语音识别领域&#xff0c;随着通义千问、Fun-ASR 等轻量级大模…

作者头像 李华
网站建设 2026/5/30 16:11:22

零基础入门:如何在Windows 10和Windows 11上正确部署Multisim环境

从零开始搭建 Multisim 仿真环境&#xff1a;Windows 10/11 安装全攻略 你是不是也遇到过这种情况&#xff1f;刚下载好 Multisim 安装包&#xff0c;满怀期待地双击 setup.exe &#xff0c;结果弹出一堆错误提示&#xff1a;“缺少 VCRUNTIME140.dll”、“许可证未找到”、…

作者头像 李华
网站建设 2026/6/5 14:08:43

Fun-ASR WebUI使用全攻略:从安装到批量处理语音文件

Fun-ASR WebUI使用全攻略&#xff1a;从安装到批量处理语音文件 在远程办公、线上会议和内容创作日益普及的今天&#xff0c;如何高效地将大量录音转化为可编辑的文字&#xff0c;已成为许多职场人和创作者面临的共同挑战。传统的语音识别工具要么依赖复杂的命令行操作&#xf…

作者头像 李华
网站建设 2026/6/4 20:47:37

GPT-OSS-120B 4bit量化版:本地极速运行新体验

导语&#xff1a;OpenAI开源大模型GPT-OSS-120B推出4bit量化版本&#xff0c;通过Unsloth技术优化&#xff0c;实现了在消费级硬件上的高效运行&#xff0c;为开发者和AI爱好者带来了本地化部署的全新可能。 【免费下载链接】gpt-oss-120b-unsloth-bnb-4bit 项目地址: https…

作者头像 李华
网站建设 2026/6/10 13:29:18

国际版推出预期:Fun-ASR进军东南亚市场可能性

Fun-ASR 出海东南亚&#xff1a;轻量语音识别的本地化突围之路 在曼谷的共享办公空间里&#xff0c;一家初创企业正用泰语讨论产品原型&#xff0c;录音文件随后被上传至内部系统自动生成会议纪要&#xff1b;雅加达的客服中心&#xff0c;坐席人员一边接听印尼语电话&#xff…

作者头像 李华