news 2026/4/25 3:02:03

LeetCode--279. 完全平方数--中等

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LeetCode--279. 完全平方数--中等

题目

给你一个整数 n ,返回 和为 n 的完全平方数的最少数量 。

完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9 和 16 都是完全平方数,而 3 和 11 不是。

示例 1:
输入:n = 12
输出:3
解释:12 = 4 + 4 + 4

示例 2:
输入:n = 13
输出:2
解释:13 = 4 + 9

题解

classSolution{publicintnumSquares(intn){int[]dp=newint[n+1];// 默认初始化值都为0for(inti=1;i<=n;i++){dp[i]=i;// 最坏的情况就是每次+1for(intj=1;i-j*j>=0;j++){dp[i]=Math.min(dp[i],dp[i-j*j]+1);// 动态转移方程}}returndp[n];}}

解析

出自:画解算法:279. 完全平方数

classSolution{publicintnumSquares(intn){// 创建一个长度为 n+1 的 dp 数组,dp[i] 表示组成整数 i 所需的最少完全平方数个数int[]dp=newint[n+1];// 默认初始化值都为 0(Java 中 int 数组默认初始化为 0)// 从 1 遍历到 n,依次计算每个数字 i 的最小平方数组合数for(inti=1;i<=n;i++){// 初始化 dp[i] 为最坏情况:i 由 i 个 1 相加而成(因为 1 是完全平方数)dp[i]=i;// 例如:5 = 1+1+1+1+1 → 共 5 个// 尝试所有可能的完全平方数 j*j(j 从 1 开始)for(intj=1;i-j*j>=0;j++){// 状态转移方程:// 如果用 j*j 作为其中一个平方数,那么剩下的部分是 i - j*j,// 所需的最少个数就是 dp[i - j*j] + 1(+1 表示加上当前的 j*j)// 取所有可能 j 中的最小值dp[i]=Math.min(dp[i],dp[i-j*j]+1);}}// 返回组成 n 所需的最少完全平方数个数returndp[n];}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 12:42:29

端到端采购:采购全流程管控,高效协同降本提效

在数字化转型浪潮下&#xff0c;企业采购正从传统分散式管理向一体化管控升级。鲸采云数字化采购管理系统以 “端到端” 为核心逻辑&#xff0c;构建覆盖采购全链条的智能管控体系&#xff0c;通过流程自动化、多方协同化、决策数据化&#xff0c;实现采购效率提升、成本优化与…

作者头像 李华
网站建设 2026/4/19 17:53:01

即梦ai资源合集

5816-AI绘画与视频制作&#xff0c;剪映即梦AI课程 文件大小: 25.5GB内容特色: 25.5GB剪映即梦AI实操&#xff0c;绘画视频一站式适用人群: 短视频博主、设计师、AI视觉爱好者核心价值: 快速掌握AI作画与剪辑&#xff0c;零门槛产出大片下载链接: https://pan.quark.cn/s/0e3b…

作者头像 李华
网站建设 2026/4/21 21:26:53

AI Agents 智能体工作流的核心组成、模式、应用场景及案例

如今&#xff0c;AI Agents&#xff08;智能体&#xff09;一词充斥于各类讨论之中&#xff0c;然而新兴技术的演进常伴生术语的模糊、预期的虚高&#xff0c;以及所谓“权威”所制造的迷雾。本文旨在穿透智能体领域泛滥的浮躁与包装&#xff0c;直指 Agentic AI 的本质核心&am…

作者头像 李华
网站建设 2026/4/23 10:43:03

基于PLC的污水处理控制系统博图HMI组态仿真生活污水工业污水处理

详见主页个人简介获取博图仿真HMI源文件PLC程序电气接线图IO表系统整体设计思路 该控制系统以西门子S7-200系列PLC作为核心控制器&#xff0c;围绕SBR&#xff08;序批式活性污泥法&#xff09; 工艺进行设计。系统按照“进水、反应、沉淀、排水、闲置”五个阶段实现全自动周期…

作者头像 李华