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

LeetCode热题100 完全平方数

题目描述给你一个整数 n 返回 和为 n 的完全平方数的最少数量 。完全平方数 是一个整数其值等于另一个整数的平方换句话说其值等于一个整数自乘的积。例如1、4、9 和 16 都是完全平方数而 3 和 11 不是。示例 1输入n 12输出3解释12 4 4 4示例 2输入n 13输出2解释13 4 9提示1 n 10 4 1 n 10^41n104思路1: 动态规划我们考虑f[i]为第i个数需要的最少完全平方数的个数枚举每个比他小的完全平方数j 2 j ^ 2j2,则有f [ i ] f [ i − j 2 ] 1 f[i] f[i - j ^ 2] 1f[i]f[i−j2]1 这里的1就是j 2 j ^ 2j2, 我们枚举每个j的时间复杂度是 o(n \sqrt{n}n​), 枚举i的时间复杂度为o(n)总的时间复杂度为o ( n n ) o(n\sqrt{n})o(nn​)。代码1classSolution{public:intnumSquares(intn){vectorintf(n1,0);unordered_setints;// 记录这个数是不是完全平方数for(inti1;i100;i){s.insert(i*i);}for(inti1;in;i){f[i]INT_MAX;// 需要j^2一个, 剩下的i - j ^ 2的最少个数已经出现for(intj1;ji/j;j){f[i]min(f[i],1f[i-j*j]);}}returnf[n];}};思路2: 数学四平方和定理有两个结论任意一个正整数都可以被表示为至多四个正整数的平方和。当且仅当n ≠ 4 k × ( 8 m 7 ) n \neq 4^k \times (8m 7)n4k×(8m7)时n nn可以被表示为至多三个正整数的平方和。因此当n 4 k × ( 8 m 7 ) n 4^k \times (8m 7)n4k×(8m7)时n nn只能被表示为四个正整数的平方和。此时我们可以直接返回 4。我们枚举答案的个数当 可以开方,o(1),答案为1当 可以表示成两个数完全平方和相加o ( n ) o(\sqrt{n})o(n​)答案为2当 可以表示成n 4 k × ( 8 m 7 ) n 4^k \times (8m 7)n4k×(8m7)o(logn), 答案为4否则答案为3因此总的时间复杂度为o ( n ) o(\sqrt{n})o(n​)。代码2classSolution{public:// 是否是完全平方数 o(1)boolisPerfectSquare(intx){intysqrt(x);returny*yx;}// 是否是两个数完全平方相加 o(n ^ (1/2))boolisTwoPerfectSquareadd(intx){for(inti1;ix/i;i){intjx-i*i;if(isPerfectSquare(j)){returntrue;}}returnfalse;}// 是否是4个数相加 o(logn)boolcheckAnswer4(intx){while(x%40){x/4;}returnx%87;}intnumSquares(intn){if(isPerfectSquare(n))return1;if(checkAnswer4(n))return4;if(isTwoPerfectSquareadd(n))return2;return3;}};

相关文章:

LeetCode热题100 完全平方数

题目描述 给你一个整数 n ,返回 和为 n 的完全平方数的最少数量 。 完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9 和 16 都是完全平方数,而 3 和 11…...

多智能体协作框架:从单体AI到组织智能的工程实践

1. 项目概述:一个面向未来的智能体开发框架最近在GitHub上看到一个挺有意思的项目,叫“TheAgentCompany/TheAgentCompany”。光看这个名字,你可能会觉得有点抽象,甚至有点“公司套公司”的意味。但点进去仔细研究后,我…...

SEO业务必看!代理IP选型全指南(避开90%的坑,附场景化适配方案)

做SEO的核心痛点之一,就是“IP关联与反爬封禁”——无论是关键词排名查询、多平台外链建设、竞品数据采集,还是多账号矩阵运营,频繁用单一IP操作,轻则被搜索引擎限流、排名查询数据失真,重则账号被封、业务中断。 很多…...

MemTensor/MemOS:基于内存计算的操作系统架构探索

1. 项目标题: "MemTensor/MemOS"...

从《我的第一份工作》看技术面试:如何避免踩中那些‘令人沮丧的旅程’和‘最后一根稻草’

技术面试避坑指南:从经典文学拆解职场生存法则 伦敦郊外那所红砖学校的面试经历,放在今天的技术招聘场景中依然能引发强烈共鸣——不专业的面试官、模糊的岗位职责、糟糕的办公环境,以及最后那根压垮求职者的"稻草"。这些上世纪文学…...

LiquidAI LFM2-2.6B-GGUF教程:nvidia-smi监控GPU层卸载效果分析

LiquidAI LFM2-2.6B-GGUF教程:nvidia-smi监控GPU层卸载效果分析 1. 项目介绍 LFM2-2.6B-GGUF是由Liquid AI公司开发的大语言模型,经过GGUF量化处理后特别适合在资源有限的设备上运行。这个模型最吸引人的特点是它的小体积和高效能表现。 1.1 核心优势…...

智能推荐系统的算法原理与工程化实现方案

智能推荐系统已成为互联网时代信息分发的核心技术,其通过算法模型精准匹配用户与内容,广泛应用于电商、短视频、新闻资讯等领域。本文将深入剖析其核心算法原理与工程化落地方案,为读者揭示从数据到推荐的全链路逻辑。推荐算法核心原理推荐系…...

AI 术语通俗词典:训练误差

训练误差是机器学习、统计学习和人工智能中非常常见的一个术语。它用来描述:模型在训练数据上表现得有多好,或者说错得有多明显。 换句话说,训练误差是在回答:对于那些已经拿来训练模型的数据,模型到底还有多少没有学好…...

【VSCode性能调优黄金法则】:基于V8引擎剖析+Electron 24内存模型的深度优化路径

更多请点击: https://intelliparadigm.com 第一章:VSCode性能调优黄金法则总览 Visual Studio Code 作为现代开发者最广泛使用的轻量级编辑器,其性能表现直接受工作区规模、插件生态与配置策略影响。当打开大型项目(如含数万行 T…...

数据科学家如何高效使用ChatGPT:提示词设计与实战技巧

1. 数据科学家的ChatGPT高效使用指南作为数据科学从业者,我们每天都在与数据清洗、特征工程和模型调参打交道。最近半年我系统测试了ChatGPT在数据科学全流程中的应用,发现合理设计提示词(prompt)能提升3-5倍工作效率。今天分享的不仅是基础用法&#xf…...

ML:多项式回归的基本原理与实现

在机器学习中,回归任务关注的是“预测一个连续数值”。当输入特征与目标变量之间的关系近似线性时,线性回归往往可以取得不错效果;但在很多实际问题中,这种关系并不总是一条直线,而更可能呈现弯曲、拐点或增长速度变化…...

别再为10G UDP发愁了!手把手教你用Xilinx 10G/25G Ethernet Subsystem IP核搭建FPGA网络栈(附12套工程源码)

10G UDP通信实战:基于Xilinx UltraScale架构的FPGA网络栈开发指南 第一次接触10G以太网开发时,我被那些闪烁的SFP光模块和复杂的协议栈配置搞得晕头转向。直到在实验室熬了三个通宵后,才终于让FPGA开发板与PC之间稳定传输了第一个数据包。这段…...

从实验室到产线:VSCode调试配置如何通过UL 61000-6-4电磁兼容EMC预测试?3步完成信号完整性验证与JTAG噪声抑制

更多请点击: https://intelliparadigm.com 第一章:从实验室到产线:VSCode调试配置如何通过UL 61000-6-4电磁兼容EMC预测试?3步完成信号完整性验证与JTAG噪声抑制 在嵌入式系统量产前,EMC预测试是绕不开的关键门槛。UL…...

VSCode低代码插件配置避坑指南:87%新手踩过的5个致命错误,第3个导致CI/CD流水线崩溃

更多请点击: https://intelliparadigm.com 第一章:VSCode低代码插件配置避坑指南:87%新手踩过的5个致命错误,第3个导致CI/CD流水线崩溃 插件版本与核心运行时不兼容 低代码插件(如 VS Code 的 LowCode Studio 或 App…...

G2100、G2110、G2200、G2400、G2410、G2411、G2420、G2500、G2510、G2520、G2600报错5B00,P07,E08,1700,5b04废墨垫清零软件,有效

下载:点这里下载 备用下载:https://pan.baidu.com/s/1WrPFvdV8sq-qI3_NgO2EvA?pwd0000 常见型号如下: G系列 G1000、G1100、G1200、G1400、G1500、G1800、G1900、G1010、G1110、G1120、G1410、G1420、G1411、G1510、G1520、G1810、G1820、…...

iPhone 17 Air的最佳配件——河马引力HIPPORIZZ凯夫拉手机壳

iPhone 17 Air 薄到每次拿起来都会让人下意识确认它还在不在。但正因为太薄了,每一次塞进裤兜或从桌上拿起,心里总难免闪过一丝不安——这么薄的东西,真的不需要加点保护吗?直到给手里的 iPhone 17 Air 配上了河马引力 HIPPORIZZ …...

第14篇:Power Query 高级数据处理

第14篇:Power Query 高级数据处理 1. Power Query 核心概念 1.1 M 语言基础 Power Query 使用 M 语言进行数据转换: // 基本语法结构 let步骤1 操作1,步骤2 操作2,结果 最终输出 in结果1.2 查询步骤链 源数据↓ 引用类型转换↓ 删除列↓ 筛选行↓ 分组…...

深度学习图像描述数据集构建全流程解析

1. 项目概述:构建深度学习图像描述数据集的核心逻辑在计算机视觉与自然语言处理的交叉领域,图像描述生成(Image Captioning)一直是极具挑战性的任务。这个项目的本质,是通过系统化的数据工程方法,将原始图像…...

基于安卓的社区邻里互助服务平台毕业设计源码

博主介绍:✌ 专注于Java,python,✌关注✌私信我✌具体的问题,我会尽力帮助你。一、研究目的本研究旨在设计并实现一个基于安卓操作系统的社区邻里互助服务平台,以解决现代城市社区中居民间信息沟通不畅、资源共享效率低下以及应急互助机制缺失…...

【ACM】2026年人工智能与算力国际学术会议(ICAICP 2026)

2026年人工智能与算力国际学术会议(ICAICP 2026) 2026 International Conference on Artificial Intelligence and Computing Power 主讲嘉宾已确定,科学家、Fellow报告、权威专家齐聚,学术交流更深入! 多征稿主题&…...

算法二刷复盘|LeetCode 3474 二分查找双杀(区间边界 + 二维矩阵)

目录 一、LeetCode 34:在排序数组中查找元素的第一个和最后一个位置 题目描述 核心思路:两次二分,分别锁定左右边界 Java 完整实现 复杂度分析 二、LeetCode 74:搜索二维矩阵 题目描述 核心思路:二维降维&…...

NLP 机器翻译:从RNN到Transformer

NLP 机器翻译:从RNN到Transformer 1. 机器翻译简介 机器翻译(Machine Translation, MT)是自然语言处理(NLP)的重要任务,旨在将一种语言的文本自动翻译成另一种语言。从早期的基于规则的方法到现代的深度学习…...

C++ MCP网关架构设计图(含L1/L2缓存穿透防护+零拷贝协议栈)——全网首份通过PCI-DSS认证的生产级拓扑图解密

更多请点击: https://intelliparadigm.com 第一章:C MCP网关架构设计图总览 C MCP(Model-Controller-Protocol)网关是一种面向高并发、低延迟工业通信场景的中间件组件,其核心目标是在异构设备协议(如 Mod…...

LFM2-2.6B-GGUF快速部署:Ubuntu系统依赖(libglib2.0-0等)安装

LFM2-2.6B-GGUF快速部署:Ubuntu系统依赖(libglib2.0-0等)安装 1. 项目介绍 LFM2-2.6B-GGUF是由Liquid AI公司开发的大语言模型,经过GGUF量化处理后特别适合在资源有限的设备上运行。这个2.6B参数的模型经过量化后体积大幅缩小&a…...

Phi-3-mini-4k-instruct-gguf代码实例:curl调用/health接口与自动化集成示例

Phi-3-mini-4k-instruct-gguf代码实例:curl调用/health接口与自动化集成示例 1. 模型简介 Phi-3-mini-4k-instruct-gguf是微软Phi-3系列中的轻量级文本生成模型GGUF版本。这个模型特别适合以下应用场景: 智能问答系统文本改写与润色内容摘要生成短篇创…...

VSCode远程连接卡顿到崩溃?3个被90%开发者忽略的SSH配置致命细节

更多请点击: https://intelliparadigm.com 第一章:VSCode远程连接卡顿到崩溃的真相揭秘 VSCode 的 Remote-SSH 扩展在中大型项目或低带宽/高延迟网络环境下,常出现编辑器响应迟缓、终端假死、甚至整个窗口崩溃的现象。这并非单纯由网络质量导…...

XGBoost实战:从原理到部署的完整指南

1. XGBoost:为什么它成为机器学习竞赛的常胜将军?第一次接触XGBoost是在2016年的Kaggle竞赛中,当时超过半数的获胜方案都使用了这个算法。作为传统梯度提升树(GBDT)的进化版本,XGBoost通过一系列工程优化和…...

交通枢纽对讲广播降噪难?A-59 模块一站式解决回音、啸叫、远场拾音|嵌入式实战方案

针对高铁站、机场、地铁、客运站等交通枢纽高噪、大混响、多终端并发对讲场景,本文基于 A-59 工业级双通道语音处理模块,给出可直接量产的回音消除 双波束拾音 全双工通话解决方案,含硬件接口、典型模式、场景配置与实测效果,适…...

Arm架构UMLSLL指令解析:高效矩阵运算优化

1. UMLSLL指令深度解析:多向量无符号整数乘减操作在Arm架构的SIMD指令集中,UMLSLL(Unsigned integer Multiply-Subtract Long Long)指令是一个专门为高效矩阵运算设计的复杂操作。我第一次在Armv9的SME2扩展中见到这个指令时&…...

斑马文书AI PPT功能使用测评:AI一键生成PPT

作为常年被PPT支配的职场人,谁没熬过“找思路、扒内容、调格式”的深夜,试过不少AI PPT工具,不是生成内容跑偏,就是Word转PPT格式混乱,直到使用斑马文书AI-PPT功能,才知道什么叫做真正高效好用。接下来我从…...