当前位置: 首页 > news >正文

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; } }
http://www.jsqmd.com/news/225764/

相关文章:

  • 腾讯开源翻译模型HY-MT1.5:多语言SEO优化方案
  • HY-MT1.5-7B科研场景实战:跨语言文献阅读助手搭建步骤
  • HY-MT1.5-1.8B与7B模型对比:参数/速度/质量全方位评测
  • HY-MT1.5开源社区现状:模型迭代节奏与部署支持情况分析
  • Qwen3-VL图片标注教程:5分钟上手,成本1块钱
  • HY-MT1.5术语干预案例:医学文献精准翻译
  • HY-MT1.5部署必看:网页推理无法连接?防火墙设置详解
  • HY-MT1.5-7B模型应用:专业文档翻译系统搭建
  • HY-MT1.5-1.8B优化:内存占用与性能平衡策略
  • HY-MT1.5-1.8B性能详解:小模型大能力,实时翻译场景实测
  • HY-MT1.5-1.8B性能实测:同参数模型中翻译准确率领先30%
  • HY-MT1.5性能优化:缓存机制与预热策略
  • HY-MT1.5如何做质量评估?BLEU/COMET指标实战评测
  • 网络安全面试必看!3 个项目经验模板,从零基础到精通,一篇搞定 offer!
  • HY-MT1.5-7B与WMT25冠军模型对比:混合语言场景下翻译质量全面评测
  • 未来翻译架构展望:Hunyuan-HY-MT1.5开源模式对行业的影响分析
  • 企业出海翻译难题:Hunyuan HY-MT1.5一站式解决方案
  • HY-MT1.5支持注释翻译?技术文档处理实战教程
  • 混元翻译1.5模型部署:AWS实例配置指南
  • Qwen3-VL vs Qwen2.5-VL对比评测:云端2小时低成本实测
  • 从零开始:HY-MT1.5翻译模型环境部署完整步骤
  • 混元翻译1.5模型部署:容器化方案与性能优化
  • 救命神器10个AI论文写作软件,专科生毕业论文必备!
  • 混元翻译1.5多线程处理:高并发翻译服务搭建
  • 2026程序员必看:转行大模型前景与岗位全解析,值得收藏学习!
  • Qwen3-VL避坑指南:没GPU也能跑通的3个技巧
  • Qwen3-VL避坑指南:3个常见部署错误+云端一键解决方案
  • 基于梯度组合的多任务 / 多目标学习
  • HY-MT1.5-7B模型优化:大规模翻译任务调度策略
  • HY-MT1.5-1.8B性能评测:同规模超越商业API的真相揭秘