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

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]
相关推荐
Logintern0915 小时前
Langgraph使用MemorySaver建立有记忆的图
开发语言·windows·python
原野池予15 小时前
深入Java集合框架:数组与List互转底层原理剖析(JDK 8)
java·数据结构·list
Uncommon.15 小时前
使用pandas处理csv并转为张量
pytorch·python·深度学习·pandas
今日无bug15 小时前
列表转树:一道题搞懂 HashMap 在算法里的价值
前端·数据结构
上玄code16 小时前
【Agent精讲】调一个LLMAPI背后的工程问题
java·开发语言·python·chatgpt
Uncommon.16 小时前
使用Pytorch操作张量(多维数组)
人工智能·pytorch·python
码云骑士16 小时前
105-Ollama本地部署-Llama3-Qwen2-Modelfile-REST-API
python
晚安code16 小时前
MCP Server 开发入门:手把手写一个能跑的 Server,三种协议怎么选
python·ai编程
CTA量化套保16 小时前
量化脚本准备实盘了吗?TqSdk 上线前工程检查
人工智能·python
何以解忧,唯有..16 小时前
预订酒店问题
算法