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

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

思路:

  • dpj的含义:组成和为n最少需要dpj个完全平方数
  • 递推公式:dpj=min(dpj,dpj-i\*i+1)
  • 初始化:dp0=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]
相关推荐
JWASX几秒前
【agent 开发】agent 开发学习 - LangChain(2)
python·学习·langchain
0+1112 分钟前
算法 --归并排序
数据结构·算法·排序算法
Run_Teenage9 分钟前
算法:树的重心、树的直径
算法
专注仿真10 分钟前
高代价计算后置:探测、交战、毁伤三条链路的统一设计哲学
算法·探测·毁伤
xie0510_11 分钟前
Any类简要实现
开发语言·c++·算法
kimnoic14 分钟前
Python常用标准库模块及查询使用方法
开发语言·python
范中勤15 分钟前
Python 与 Java:模块、包、对象、反射核心差异总结
java·python·面试·反射·元类
I Am a robert girl16 分钟前
HelixWorld 源码剖析:当世界模型第一次“开口说话”
python·多模态·扩散模型·世界模型·自回归·空间音频·流式推理
棉猴19 分钟前
玩游戏学Python6-演员Actor
python·pygame·玩游戏·游戏编程·actor·pgzero
字节跳动的猫19 分钟前
LikeShop 种草社区模块二开:笔记发布、话题广场与商品挂载实现
数据结构·数据库