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

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]
相关推荐
L@ncor32 分钟前
第二章可能出现的问题
人工智能·python
y = xⁿ41 分钟前
大模型基础概念
python
ctlover1 小时前
排序与查找算法详解
开发语言·python
用户8356290780511 小时前
如何使用 Python 给 Word 文档添加水印
后端·python
泡干脆面就番茄1 小时前
深度学习:PyTorch框架初识——MNIST手写数字识别
python·深度学习
shirsl1 小时前
算法 Day 5 树 / 二叉树 + DFS
数据结构·python·算法
门思科技1 小时前
开源网关有哪些:主流类型梳理
网络·python·物联网
szephyr1 小时前
Python 爬虫合规与反爬实战:从 requests 到 Playwright
爬虫·python·requests·playwright·反爬
木子算法2 小时前
非凸、离散、还耦合:论文里的求解方法是一条四步流水线
人工智能·算法·目标跟踪
E-iceblue2 小时前
Excel 列转行/行列转换全指南:从 4 种常见解法到 Python 批量自动化
python·excel·python库·spire.xls