news 2026/9/2 17:11:34

A.每日一题——1390. 四因数

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
A.每日一题——1390. 四因数

题目链接:1390. 四因数(中等)

算法原理:

解法:记忆化枚举

28ms击败55.70%

时间复杂度O(n × √M)

对于一个数n最暴力的方法就是从1开始枚举到n,然后统计它有多少个因数,再进行累加,但这样的话时间复杂度会飙升到O(N²),即使通过也会超时的

所以咱们可以在上面那个基础上逐渐优化👇

①咱只需找俩因数即可:因为一个数至少有俩因数,1和它本身,这就已经是俩因数了,因此咱们只需在它俩中间再找俩即可,所以逐个枚举时就可以从2开始枚举到n-1即可

②咱只需找一次因数即可:因为因数一定是成对出现的,

比如说针对21,枚举到3时会出现21÷3=7,这里3是21的因数,但同时7也是21的因数,因此咱们找一次因数即可,但这里有个细节,

比如说针对16,枚举到4时,会出现16÷4=4,但4只能算一个因数,因此这时累加时只能加一个

鉴于以上分析,我们就没必要从2遍历到n-1了,因为会算重复,所以咱们只需要遍历一半即可,即从2开始枚举到√n,这是时间复杂度的一个巨大的优化!

③备忘录优化:由于同一个数可能重复出现,因此当这个数第一次出现的时候就存进哈希表,下次遍历的时候就没必要重新算一遍了

答疑:

Q1:如果出现两个相同的因数的话,那么只能算一次吧,加上只能成为奇数啊,但是咱们要求的是4因数,是偶数,因数相同的时候咱就没必要算了啊,直接跳过呗

不可以,虽然不会少算,但会多算!

比如16的因数是1、2、4、8、16,如果直接把4跳过,会把16也算成四因数的数,导致结果偏大

Java代码:

class Solution { public int sumFourDivisors(int[] nums) { int ret=0; //建立备忘录 Map<Integer,Integer> hash=new HashMap<>(); for(int x:nums){ //先往备忘录里瞅瞅 if(hash.containsKey(x)){ ret+=hash.get(x); continue; } int count=0,sum=0; for(int i=2;i<=Math.pow(x,0.5);i++){ if(x%i==0&&i!=x/i){ count+=2; sum+=(i+x/i); }else if(x%i==0&&i==x/i){ count++; sum+=i; } if(count>2) break; } if(count==2){ hash.put(x,x+1+sum); ret+=(x+1+sum); } } return ret; } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/3 4:28:33

AI智能实体侦测服务完整指南:从安装到生产环境落地全流程

AI智能实体侦测服务完整指南&#xff1a;从安装到生产环境落地全流程 1. 引言 1.1 业务场景描述 在当今信息爆炸的时代&#xff0c;非结构化文本数据&#xff08;如新闻报道、社交媒体内容、企业文档&#xff09;呈指数级增长。如何从中高效提取关键信息&#xff0c;成为自然…

作者头像 李华
网站建设 2026/9/2 22:04:36

HY-MT1.5医疗翻译实战:病历跨语言转换中的格式保留技巧详解

HY-MT1.5医疗翻译实战&#xff1a;病历跨语言转换中的格式保留技巧详解 在医疗信息化快速发展的今天&#xff0c;跨语言病历共享已成为国际医疗协作的重要基础。然而&#xff0c;传统翻译模型在处理结构化医学文本时&#xff0c;常常破坏原始文档的排版与语义结构&#xff0c;…

作者头像 李华
网站建设 2026/9/2 6:37:01

HY-MT1.5实战案例:国际展会实时语音翻译设备部署

HY-MT1.5实战案例&#xff1a;国际展会实时语音翻译设备部署 在人工智能驱动的全球化交流中&#xff0c;高质量、低延迟的实时翻译技术正成为跨语言沟通的核心基础设施。特别是在国际展会、跨国会议等高密度多语种交互场景下&#xff0c;传统云端翻译方案受限于网络延迟和隐私…

作者头像 李华
网站建设 2026/9/2 8:44:34

混元翻译1.5模型部署:容器化方案与性能优化

混元翻译1.5模型部署&#xff1a;容器化方案与性能优化 随着多语言交流需求的不断增长&#xff0c;高质量、低延迟的机器翻译系统成为智能应用的核心组件。腾讯开源的混元翻译大模型 HY-MT1.5 系列&#xff0c;凭借其在多语言支持、翻译质量与部署灵活性上的突出表现&#xff…

作者头像 李华
网站建设 2026/9/2 21:36:04

HY-MT1.5-1.8B生产环境部署:Docker容器化实践指南

HY-MT1.5-1.8B生产环境部署&#xff1a;Docker容器化实践指南 随着多语言业务场景的不断扩展&#xff0c;高效、低延迟的翻译模型部署成为企业出海、内容本地化等关键环节的技术基石。腾讯开源的混元翻译大模型HY-MT1.5系列&#xff0c;凭借其在翻译质量、推理速度和部署灵活性…

作者头像 李华
网站建设 2026/9/2 21:34:16

混元翻译模型1.5案例:全球化APP本地化方案

混元翻译模型1.5案例&#xff1a;全球化APP本地化方案 随着全球化应用的快速发展&#xff0c;多语言支持已成为产品出海和跨区域运营的核心能力。传统商业翻译API虽然成熟&#xff0c;但在成本、延迟和定制化方面存在明显瓶颈。腾讯开源的混元翻译模型HY-MT1.5系列&#xff0c…

作者头像 李华