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

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]
相关推荐
Hcoco_me9 小时前
大模型面试题18:t-SNE算法详解及入门实操
算法
Data_agent10 小时前
学术爬虫实战:构建知网论文关键词共现网络的技术指南
python·算法
立志成为大牛的小牛10 小时前
数据结构——五十五、散列查找的性能分析(线性探测法)(王道408)
数据结构·程序人生·考研·算法
神也佑我橙橙11 小时前
Thrift 简单介绍
算法
simon_skywalker11 小时前
线性代数及其应用习题答案(中文版)第二章 矩阵代数 2.1 矩阵运算(2)
线性代数·算法·矩阵
jiayong2311 小时前
数据结构时间复杂度完全解析
数据结构
断剑zou天涯12 小时前
【算法笔记】Manacher算法
java·笔记·算法
_一路向北_12 小时前
爬虫框架:Feapder使用心得
爬虫·python
皇族崛起12 小时前
【3D标注】- Unreal Engine 5.7 与 Python 交互基础
python·3d·ue5
你想知道什么?12 小时前
Python基础篇(上) 学习笔记
笔记·python·学习