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

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]
相关推荐
gongfuyd2 分钟前
傅里叶变换、拉普拉斯变换、Z 变换的定义及关系
算法·机器学习·概率论
我一定会有钱3 分钟前
Python数据类型
python
AI能力探索3 分钟前
NumPy数值计算全教程:多维数组操作、广播机制、线性代数运算(附实战案例)
python
珂朵莉MM4 分钟前
第七届全球校园人工智能算法精英大赛-算法巅峰赛产业命题赛第三赛季--前五题总结
人工智能·算法
啊阿狸不会拉杆4 分钟前
《数字图像处理》第2章-数字图像基础
图像处理·python·算法·计算机视觉·数字图像处理
云飞云共享云桌面6 分钟前
云飞云智能共享云桌面:企业PLM/ERP/MES等系统管理的革新方案
运维·服务器·网络·算法·性能优化
yaoh.wang8 分钟前
力扣(LeetCode) 9: 回文数 - 解法思路
python·程序人生·算法·leetcode·面试·职场和发展·跳槽
永远是夏天8 分钟前
Matplotlib饼图绘制教程:从基础到进阶,精准展示数据占比
python
小年糕是糕手10 分钟前
【C/C++刷题集】类和对象算法题(一)
数据结构·c++·程序人生·考研·算法·leetcode·改行学it
野生风长12 分钟前
从零开始的C语言: 指针深入理解从入门到实践(中)指针与数组的结合
c语言·数据结构·算法