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

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]
相关推荐
Pniubi6 小时前
力扣41缺失的第一个正数(哈希表法)
算法·leetcode·职场和发展
地平线开发者7 小时前
MQBench QAT量化实践指南
人工智能·算法·自动驾驶
Είναι η κοπέλα7 小时前
llama.cpp 与 GGUF 格式:本地大模型的“裸引擎“
开发语言·人工智能·pytorch·python·conda
今夜有雨.7 小时前
图像运算、掩膜/ROI 与绘制交互
c语言·数据结构·c++·qt·算法·计算机视觉
UIU1147 小时前
P1028 [NOIP 2001 普及组] 数的计算
c++·算法
Keven_117 小时前
BUG:UVA116
算法·bug·图论
Henry-SAP7 小时前
Beam大模型开源引爆AI热潮
算法
大草原的小灰灰7 小时前
Python面向对象编程
开发语言·python
华研前沿标杆游学8 小时前
企业参访入口 | 走进华为坂田基地,深圳华为坂田基地考察游学参访
python
垆边人似月.8 小时前
日志时间窗口内的最大并发请求数(100分 / 滑动窗口 + 排序)
数据结构·c++·算法