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

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]
相关推荐
2601_962885726 小时前
如何用 Python 计算索提诺比率和卡玛比率?
开发语言·python
小小张说故事6 小时前
Python 的描述符到底是个啥?property 和 classmethod 底层都靠它,3 个例子讲透
python
索尔~古德曼6 小时前
CF(1400-1400&1300-1500)
算法
一只旭宝6 小时前
树的家族全景:从二叉树到 B+ 树
数据结构
kimnoic6 小时前
Python操作MySQL数据库的两种方式实例分析【pymysql和pandas】
开发语言·python
外收内放6 小时前
Python基础语法练习题(64)
python·学习
爱刷碗的苏泓舒6 小时前
泰勒级数与泰勒展开:GNSS卫地距线性化、Jacobian矩阵与Hessian矩阵
线性代数·算法·矩阵·gnss·雅可比矩阵·卫地距线性化·海森矩阵
fanjiu20206 小时前
flask接收消息
python·flask
外收内放6 小时前
Python基础语法练习题(65)
开发语言·python
垆边人似月.6 小时前
华为题:每日温度
数据结构·c++·算法