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

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]
相关推荐
helloyangkl5 分钟前
Draco——参数说明
算法
API技术员10 分钟前
京东API接口:如何高效获取商品详情与SKU信息
python
!chen35 分钟前
自适应滤波算法FPGA实现思路
算法·fpga开发
sort浅忆37 分钟前
deeptest执行接口脚本,添加python脚本断言
开发语言·python
救救孩子把42 分钟前
51-机器学习与大模型开发数学教程-4-13 EM算法与混合模型
人工智能·算法·机器学习
冷月半明1 小时前
trea solo,让我从牛马外包翻身当“甲方”
python·trae
Ka1Yan1 小时前
[二叉树] - 代码随想录:二叉树的统一迭代遍历
数据结构·算法·leetcode
xu_yule1 小时前
算法基础(数论)—欧拉函数
c++·算法·欧拉函数
Brduino脑机接口技术答疑1 小时前
TDCA 算法在 SSVEP 场景中的训练必要性
人工智能·算法·机器学习·脑机接口
xu_yule1 小时前
算法基础(数学)—数论
c++·算法·数论·最大公约数和最小公倍数·质数的判定·筛质数