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

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]
相关推荐
qq_4609784016 分钟前
html标签怎么表示小字号文字_small标签语义说明【操作】
jvm·数据库·python
踩坑记录18 分钟前
leetcode hot100 169. 多数元素 easy 技巧 摩尔投票
leetcode
qq_4135020218 分钟前
SQL更新语句性能调优技巧_避免对索引列执行函数操作
jvm·数据库·python
2301_8176722620 分钟前
如何正确为包含浮动子元素的父容器设置完整背景色
jvm·数据库·python
水蓝烟雨22 分钟前
3487. 删除后的最大子数组元素和
算法·leetcode·链表
如君愿23 分钟前
考研复习 Day 22 | 数据结构与算法--排序(下)
数据结构·考研·排序算法·记录考研
2301_8038756124 分钟前
Redis如何通过永不过期策略规避击穿
jvm·数据库·python
2301_8166602131 分钟前
CSS中relative与absolute的区别_详解相对与绝对定位应用场景
jvm·数据库·python
LG.YDX34 分钟前
笔试训练48天:最长无重复子数组
数据结构·算法
qq_4609784040 分钟前
Golang怎么JWT设置过期时间_Golang如何在Claims中配置Token有效期【操作】
jvm·数据库·python