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

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]
相关推荐
blammmp3 分钟前
算法专题十七:穷举vs暴搜vs深搜vs回溯vs剪枝
算法·机器学习·剪枝
haofafa28 分钟前
高精度加减法
java·数据结构·算法
weixin_3077791334 分钟前
利用特征值和特征函数求解积分方程
算法
TT哇35 分钟前
【BFS 解决FloodFill 算法】4. 被围绕的区域(medium)
算法·宽度优先
长颈鹿仙女37 分钟前
发送 Prompt 指令:判断用户评价是好评还是差评
python·大模型
格林威1 小时前
AOI在人形机器人制造领域的应用
人工智能·数码相机·算法·目标跟踪·机器人·视觉检测·制造
小兔崽子去哪了1 小时前
PyMySQL 笔记
python
景彡先生1 小时前
Python NumPy广播机制详解:从原理到实战,数组运算的“隐形翅膀”
开发语言·python·numpy
咕白m6252 小时前
Python 查找高亮 Excel 指定数据
python