news 2026/4/17 23:10:55

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/4/3 4:12:45

HY-MT1.5实战:构建多语言智能客服聊天机器人

HY-MT1.5实战&#xff1a;构建多语言智能客服聊天机器人 随着全球化业务的不断扩展&#xff0c;企业对多语言沟通能力的需求日益增长。尤其是在客户服务领域&#xff0c;如何实现高效、准确、自然的跨语言交互成为关键挑战。腾讯开源的混元翻译大模型 HY-MT1.5 正是为此类场景…

作者头像 李华
网站建设 2026/4/17 13:00:44

ARM轻阅读YML

version: 3.8# 定义服务 services:qread:# 使用的镜像image: linmax/read:latest# 容器名称&#xff08;自定义&#xff0c;避免冲突&#xff09;container_name: qread# 重启策略&#xff1a;除非手动停止&#xff0c;否则一直重启restart: unless-stopped# 端口映射&#xff…

作者头像 李华
网站建设 2026/4/15 9:34:13

Hunyuan模型支持RESTful API吗?服务封装实战

Hunyuan模型支持RESTful API吗&#xff1f;服务封装实战 1. 引言&#xff1a;从开源翻译模型到API服务化 随着大模型在自然语言处理领域的广泛应用&#xff0c;翻译任务已不再局限于简单的词对词转换&#xff0c;而是向上下文感知、术语一致性、格式保留等复杂场景演进。腾讯…

作者头像 李华
网站建设 2026/4/15 11:14:10

HY-MT1.5-1.8B实战:工业设备多语言手册生成

HY-MT1.5-1.8B实战&#xff1a;工业设备多语言手册生成 随着全球化进程加速&#xff0c;工业制造企业面临日益增长的多语言技术文档需求。传统人工翻译成本高、周期长&#xff0c;而通用机器翻译在专业术语、格式保留和上下文一致性方面表现不佳。腾讯开源的混元翻译大模型 HY…

作者头像 李华
网站建设 2026/4/17 21:43:12

Qwen3-VL图像生成实测:2块钱玩一下午,没显卡也能创作

Qwen3-VL图像生成实测&#xff1a;2块钱玩一下午&#xff0c;没显卡也能创作 引言&#xff1a;当插画师遇上AI创作困境 作为一名插画师&#xff0c;你可能经常遇到这样的困扰&#xff1a;看到同行用AI生成惊艳的概念图时跃跃欲试&#xff0c;但教程里动辄要求16GB显存的配置让…

作者头像 李华
网站建设 2026/4/16 20:24:09

HY-MT1.5-1.8B实战优化:低延迟翻译服务部署完整指南

HY-MT1.5-1.8B实战优化&#xff1a;低延迟翻译服务部署完整指南 1. 引言 随着全球化进程加速&#xff0c;高质量、低延迟的机器翻译需求日益增长。传统云翻译服务虽功能成熟&#xff0c;但在隐私保护、响应速度和离线场景中存在明显短板。腾讯开源的混元翻译大模型 HY-MT1.5 系…

作者头像 李华