代码随想录 -- 动态规划 -- 完全平方数

279. 完全平方数 - 力扣(LeetCode)

思路:

  • dp[j]的含义:组成和为n最少需要dp[j]个完全平方数
  • 递推公式:dp[j]=min(dp[j],dp[j-i*i]+1)
  • 初始化:dp[0]=0,其他的初始化为比10000还大的数
  • 遍历顺序:先物品后背包
python 复制代码
class Solution(object):
    def numSquares(self, n):
        dp=[10010]*(n+1)
        dp[0]=0
        for i in range(1,n/2+2):
            for j in range(i*i,n+1):
                dp[j]=min(dp[j],dp[j-i*i]+1)
        return dp[n]
相关推荐
weixin_46244623几秒前
Python 教程:一键生成自解压源码文件,自动还原并打包项目
python·自动化工具·源码打包
cuckooman1 分钟前
oh-my-posh 配置自定义主题
vscode·python·on-my-posh
天天进步20152 分钟前
Python全栈项目--智能客服机器人的设计与实现
python
万里不留行3 分钟前
【LangChain V1.0学习】第二课:批处理与持久化对话(通过完成情感机器人多轮对话进行学习)
人工智能·python·学习·语言模型·langchain
七夜zippoe4 分钟前
Python内存管理深潜:从引用计数到GC机制的全面优化实战
开发语言·python·gc·分代回收·内存池
至此流年莫相忘4 分钟前
Python包管理工具之UV
python·uv
jghhh0110 分钟前
三维热传导方程和泊松方程的有限元方法MATLAB实现
开发语言·算法·matlab
百***074512 分钟前
GPT-5.2:重构通用智能边界,迈向生产级AI新纪元
开发语言·python·gpt
源代码•宸14 分钟前
Golang原理剖析(Sync.Map)
数据结构·经验分享·后端·golang·sync.map·readmap·dirtymap
Cher ~21 分钟前
【数据结构】stl 容器
开发语言·数据结构·c++