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

力扣 完全平方数

一、题目回顾

给定一个正整数n,要求找到最少数量的完全平方数(如 1, 4, 9, 16, …),使它们的和等于n

示例

  • n = 12 → 4 + 4 + 4 → 3

  • n = 13 → 4 + 9 → 2

本质问题一句话总结:

把 n 拆成若干个完全平方数之和,要求个数最少


二、第一反应:这是一个“最少”问题

一看到「最少多少个」,而且允许重复使用数字,很容易联想到:

  • 背包问题

  • 动态规划

  • 状态转移

而这里的“物品”就是所有 ≤ n 的完全平方数。


三、状态设计(这是题目的核心)

1️⃣ 状态定义

设:

dp[i]表示组成数字 i 所需要的最少完全平方数个数

目标就是求dp[n]


2️⃣ 状态初始化

  • dp[0] = 0
    组成 0 不需要任何数(很重要的边界)

  • 其他dp[i]初始可以设成一个很大的值(表示“还没算出来”)


四、关键一步:状态转移怎么来?

思考方式(非常重要)

假设我们要算dp[i]

  • 如果最后一步用了一个平方数

  • 那么在此之前,已经凑出了i - k²

  • 所以:

dp[i] = dp[i - k^2] + 1

但问题是:

k 可以取多少?


只枚举到 √i(平方根技巧)

因为:

  • k² ≤ i

  • 所以 k ≤ √i

这一步非常关键,它直接决定了复杂度。

于是有:

dp[i] = min (dp[i - k^2] + 1)

class Solution { public: int numSquares(int n) { int dp[10001]; for (int i=1;i<=n;i++) { int num=(int)std::sqrt(i); int min=100000; for(int j=1;j<=num;j++) { if (dp[i-j*j]+1<min) min=dp[i-j*j]+1; } dp[i]=min; } return dp[n]; } };

五、算法流程总结(口语版)

  1. 从 1 一路算到 n

  2. 对于每个 i:

    • 枚举所有k² ≤ i

    • 尝试用作为最后一个数

    • 更新最小值

  3. 最终返回dp[n]

http://www.cnnetsun.cn/news/51776.html

相关文章:

  • 经典算法题详解之统计重复个数(三)
  • 移动应用开发实验室大一上考核
  • 云数据库服务(如AWS RDS)的优势和考虑因素?
  • 【设计模式|第四篇】适配器模式:让不兼容的接口协同工作
  • asgiref终极指南:高效解决Python异步通信难题
  • 医学影像深度学习知识点总结
  • 从零到一:自动化3D建模的免代码解决方案
  • Kali中生成被控端
  • 13、Linux 文本编辑与命令操作实用指南
  • 20、Linux 备份全攻略
  • 22、Debian系统管理与安全保障全解析
  • 32、Debian变体与基于Debian的其他操作系统
  • 50、无线传感器网络部署方案与加密算法研究
  • 51、无线传感器网络部署方案与LEACH协议优化研究
  • 54、垃圾邮件和即时通讯垃圾信息的分类与控制措施
  • 如何通过AutoGPT生成高质量技术博客为GPU算力引流
  • 多目标蜣螂优化算法NSDBO:微电网多目标优化调度的利器
  • 本研究基于分形纤维丛统一场论,构建了黑洞时空的几何模型,揭示了奇点消解、霍金辐射修正及信息守恒的新机制。该模型的优势在于将宏观时空的广义相对论效应与微观量子的分形特性实现了有机融合。
  • 好写作AI语言侦探:你的论文严谨性“隐形把关人”
  • 解放双手!钉钉智能打卡神器完全上手手册
  • DMXAPI全球模型API调用完全指南:从入门到精通
  • 告别“翻墙“烦恼:DMXAPI让Gemini-3-pro-thinking调用快如闪电
  • leetcode 744. Find Smallest Letter Greater Than Target 寻找比目标字母大的最小字母-耗时100%
  • Home Assistant通知系统:3步打造智能家居提醒中心
  • 学Simulink——机器人轨迹跟踪场景实例:基于Simulink的永磁同步电机笛卡尔空间圆弧轨迹跟踪仿真
  • 【毕业设计/课程设计】基于Java的高校学科竞赛平台的设计与实现/源码+论文+PPT+数据
  • java计算机毕业设计摄影爱好者交流平台 基于SpringBoot的影像作品分享与互动社区 摄影圈层社交与作品点评一体化平台
  • “AI 写的论文,参考文献靠谱吗?”—— 虎贲等考 AI 给出答案:所有参考文献均来自知网、维普,全程可查、合规可溯
  • 2025年AI降重工具深度评测:10款零风险智能改写方案(askpaper与aibiiye实测)
  • java计算机毕业设计社团管理系统 高校学生社团数字化运营平台 校园社团协同管理与活动发布系统