完整教程:LeetCode Hot100刷题——完全平方数

news/2025/10/8 10:52:29/文章来源:https://www.cnblogs.com/wzzkaifa/p/19129271

279. 完全平方数

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

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

示例 1:

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

示例 2:

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

提示:

  • 1 <= n <= 10^4

思路分析

本题要求将整数 n 分解为若干个完全平方数的和,并返回所需完全平方数的最少数量。这是一个经典的动态规划问题,可以类比为完全背包问题。

动态规划步骤

  1. 状态定义:定义 dp[i] 表示和为 i 时所需的最少完全平方数数量。
  2. 初始化:
    1. dp[0] = 0(和为0时不需要任何平方数)。
    2. 其他位置初始化为一个较大的值(如 n + 1),因为最多由 n 个1组成。(因为要求最小值,所以初始化为一个大于可能最大值的数,比如n+1,因为最多就是n个1相加)。
  3. 状态转移:
    1. 对于每个 i(从1到n),遍历所有可能的平方数 j * j(其中 j * j <= i)。
    2. 状态转移方程:dp[i] = min(dp[i], dp[i - j * j] + 1)。
  4. 最终结果:dp[n]即为答案。

优化


完整代码

class Solution {    public int numSquares(int n) {        // 创建dp数组,dp[i]表示和为i所需的最少完全平方数的个数        int[] dp = new int[n + 1];         // 初始化dp数组,初始值设为n+1(一个大于最大可能值的数)        for(int i = 0; i <= n; i++){            dp[i] = n + 1;      // 初始化为最大值        }        dp[0] = 0;         // 动态规划填表        for(int i = 1; i <= n; i++){            // 遍历所有平方数 j*j(j从1开始,直到 j*j<=i)            for(int j = 1; j * j <= i; j++){                dp[i] = Math.min(dp[i], dp[i - j * j] + 1);            }        }        // 返回结果        return dp[n];    }}

代码解析

  1. 初始化

    • dp[0] = 0 表示和为 0 时不需要任何平方数。

    • 其他 dp[i] 初始化为 n + 1(因为最多需要 n 个 1,所以 n + 1 是一个安全的上界)。

  2. 动态规划填表

    • 外层循环遍历 i 从 1 到 n,计算每个 i 所需的最少平方数。

    • 内层循环遍历所有可能的平方数 j * jj 从 1 开始,直到 j * j > i 停止)。

    • 对于每个 j,尝试使用平方数 j * j,更新 dp[i] 为 dp[i - j * j] + 1 的最小值。

  3. 返回结果

    • 最终 dp[n] 存储了和为 n 所需的最少完全平方数数量。

示例验证

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/931398.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025 最新推荐!办公桌厂商权威榜单重磅发布,涵盖老板 / 员工 / 实木 / 屏风办公桌优质之选

伴随中国办公家具市场规模持续扩容,预计 2028 年将达 1476 亿元,智能、环保、美学化成为行业新趋势。但市场中品牌繁杂,部分厂商存在原材料把控不严、定制响应滞后、供应链不稳定等问题,企业采购时易陷入品质难辨、…

2025 办公家具厂家最新推荐榜:实木 / 现代 / 环保 / 智能 / 定制品类精英盘点,5 大优选品牌选购指南

随着办公场景向 “健康化、智能化、个性化” 升级,企业对办公家具的需求已从单一功能转向综合解决方案,但市场乱象仍存:同质化产品充斥市场,环保与安全隐患频发,定制服务响应滞后,让企业采购陷入选择困境。为破解…

鹰潭网站商城建设本科网站开发毕业设计

2024年1月29日力扣题目训练 2024年1月29日力扣题目训练345. 反转字符串中的元音字母349. 两个数组的交集350. 两个数组的交集 II96. 不同的二叉搜索树97. 交错字符串44. 通配符匹配 2024年1月29日力扣题目训练 2024年1月29日第五天编程训练&#xff0c;今天主要是进行一些题训…

织梦建站教程全集浏览器有些网页打不开是什么原因

来源&#xff1a;P.Linux‘s blog与 ima一、为什么要深入数学的世界作为计算机的学生&#xff0c;我没有任何企图要成为一个数学家。我学习数学的目的&#xff0c;是要想爬上巨人的肩膀&#xff0c;希望站在更高的高度&#xff0c;能把我自己研究的东西看得更深广一些。说起来&…

网站怎么做外联seo优化排名

//得到画布var can1document.getElementByIdx_x_x_x("can");//得到画笔var cxtcan1.getContext("2d");//定义图表的数据&#xff0c;该方式为创建数组直接量的方式var sale_data[80,92,104,110,68,50,45,90,74,98,103];//首先为背景进行设置渐变的效果,表示…

2025机械加工厂家口碑推荐榜:技术实力与行业口碑深度解析

2025机械加工厂家口碑推荐榜:技术实力与行业口碑深度解析在制造业转型升级的关键时期,机械加工行业作为工业制造的基石,正面临着技术革新与市场竞争的双重考验。随着智能制造、精密加工等新兴技术的快速发展,企业对…

2025通风气楼厂家推荐榜:专业通风与高效节能口碑之选

2025通风气楼厂家推荐榜:专业通风与高效节能口碑之选行业背景与发展趋势工业厂房通风系统作为建筑环境控制的重要组成部分,其性能优劣直接影响生产环境的舒适度和能源消耗水平。近年来,随着国家对工业建筑节能要求的…

储罐源头厂家最新推荐榜:技术实力与市场口碑深度解析

储罐源头厂家最新推荐榜:技术实力与市场口碑深度解析在现代化工、石油、食品、医药等工业领域,储罐作为关键的基础设施,承担着储存液体或气体原料、中间产品及成品的重要职责。随着产业升级与安全环保要求日益严格,…

2025喷砂设备厂家TOP5推荐:技术实力与行业口碑权威解析

2025喷砂设备厂家TOP5推荐:技术实力与行业口碑权威解析在工业制造领域,喷砂技术作为表面处理的关键工艺,其设备性能直接影响产品质量和生产效率。随着2025年制造业升级加速,喷砂设备行业也迎来技术革新浪潮。为帮助…

2025电源适配器最新推荐榜:高效稳定与安全性能兼备的优质之

2025电源适配器最新推荐榜:高效稳定与安全性能兼备的优质之选行业背景在当今数字化时代,各种电子设备如智能手机、平板电脑、笔记本电脑等已经成为人们生活和工作中不可或缺的一部分。而电源适配器作为这些电子设备的…

搬家网站建设公司找谁做公司网站

滑动内容选择器通常是一种用户界面组件&#xff0c;允许用户通过滑动手势在一组内容之间进行选择。这种组件可以在移动应用程序或网页中使用&#xff0c;以提供直观的图片选择体验。 那今天就教大家如何用中继器制作一个滑动内容选择器&#xff0c;我们会以滑动选择电影为案例…

机器学习——放回抽样 - 详解

机器学习——放回抽样 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco"…

2025 年废品回收公司最新推荐排行榜权威发布,聚焦桂林废铜/废铁/废铝/电缆电线等回收领域优质公司

引言当前,废品回收行业在循环经济发展中地位愈发关键,但市场乱象却让企业与个人在选择服务时举步维艰。部分企业缺乏合规资质、技术落后,不仅导致资源浪费与环境污染,还让客户面临经济损失风险。为破解这一困境,帮…

搭建doris FE的开发环境

下载预编译的第三方库cd thirdparty rm -rf installed# Intel 芯片 curl -L https://github.com/apache/doris-thirdparty/releases/download/automation/doris-thirdparty-prebuilt-darwin-x86_64.tar.xz \-o - | tar…

洛谷9695 [GDCPC 2023] Traveling in Cells 题解(线段树+二分)

考虑对于一个给定的颜色集合 \(S\),我们可达的位置一定是一个区间 \([L,R]\)。于是考虑怎么求出 \(L,R\) 即可。 考虑二分,现在问题转换成判定一个区间 \([x,R]\)(区间 \([L,x]\) 同理)是否所有颜色都在我们的集合…

瑞安网站建设优化美食分享网站建设策划书

Hadoop的第一个核心组件&#xff1a;HDFS&#xff08;分布式文件存储系统&#xff09; 一、HDFS的组成1、NameNode2、DataNode3、SecondaryNameNode4、客户端&#xff1a;命令行/Java API 二、HDFS的基本使用1、命令行操作2、Java API操作 三、HDFS的工作流程问题&#xff08;H…

2025 振动盘厂家最新推荐榜单:涵盖精密 / 电子 / 定制等多场景,揭秘市场信赖品牌选择秘籍笔筒振动盘/振动盘定做/橡胶振动盘厂家推荐

在自动化生产加速渗透的当下,振动盘作为物料排序送料的核心设备,直接决定生产线效率与产品合格率。然而当前市场品牌繁杂,既有深耕多年的企业,也有近年涌现的新兴力量,产品性能、定制能力与服务质量差异显著。许多…

上海法律网站建设html5彩票网站模板

文章详细解析 注意点 1.当作者在文章中写到:实际问题是:我们从根本上改变了吗? 说明:我们没有发生根本上的改变,作者不同意前文中的未来派诗歌 知识点 ----单词 unhampered adj无阻碍的 finite adj有限的 ink n墨水 corresponding adj相应的,符合的 upsetting adj令人生厌…

Axure 下拉框联动 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025 年震动盘厂家最新推荐榜单:覆盖精密震动盘 / 电子震动盘 / 塑料震动盘等品类,为企业高效选型提供权威参考

在当前自动化生产飞速发展的背景下,震动盘作为自动化上料核心设备,已成为五金、电子、医疗器械等众多行业高效生产的关键一环。然而,市场上震动盘品牌数量激增,产品质量、技术水平与服务能力差异显著,部分品牌存在…