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

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]
相关推荐
Love_云宝儿23 分钟前
WKT数据示例并与GeoJSON数据对比
数据结构·gis
BlockWay34 分钟前
WEEX Labs 周度观察:微软-OpenAI 合作调整与AI 多云趋势
大数据·人工智能·算法·安全·microsoft
biter down39 分钟前
9:JSONSchema
python
风筝在晴天搁浅42 分钟前
快手 CodeTop LeetCode 224.基本计算器
数据结构·算法·leetcode
Smoothcloud润云1 小时前
5大功能精修,重构AI算力使用体验!
java·人工智能·windows·算法·重构·编辑器·sublime text
日晨难再1 小时前
C语言&Python&Bash&Tcl:全局变量和局部变量
c语言·python·bash·tcl
麻雀飞吧1 小时前
期货量化主连和具体合约怎么切:天勤 KQ.m 与 KQ.i 用法
python·区块链
先吃饱再说1 小时前
Python List 切片与 LLM Prompt 设计:从数据结构到接口调用
python
计算机安禾1 小时前
【算法分析与设计】第41篇:确定性与非确定性多项式时间:P与NP的形式化
算法
牢姐与蒯1 小时前
c++数据结构之c++11(一)
数据结构·c++