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

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]
相关推荐
cici1587417 小时前
基于GPRMAX的地下管线正演模拟与MATLAB实现
开发语言·算法·matlab
副露のmagic17 小时前
更弱智的算法学习 day16
数据结构·学习·算法
@zulnger17 小时前
python 学习笔记(文件读写)
笔记·python·学习
DeepVis Research17 小时前
【Storage/Signal】2026年度非线性存储一致性与跨时域信号处理基准索引 (Benchmark Index)
算法·网络安全·数据集·分布式系统
liliangcsdn17 小时前
VAE中Encoder和Decoder的理论基础的探索
人工智能·算法·机器学习
weixin_4624462318 小时前
Python 使用 Tkinter + openpyxl 处理 Excel 文件并显示实时进度条
python·excel·tkinter
Love Song残响18 小时前
30字高效MATLAB优化指南
数据结构·算法
sin_hielo18 小时前
leetcode 1975
数据结构·算法·leetcode
2501_9418204918 小时前
面向零信任安全与最小权限模型的互联网系统防护设计思路与多语言工程实践分享
开发语言·leetcode·rabbitmq
cpp_250118 小时前
P1583 魔法照片
数据结构·c++·算法·题解·洛谷