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

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]
相关推荐
l1t20 分钟前
用SQL求解advent of code 2024年23题
数据库·sql·算法
云和数据.ChenGuang43 分钟前
pycharm怎么将背景换成白色
ide·python·pycharm
10岁的博客1 小时前
二维差分算法高效解靶场问题
java·服务器·算法
轻微的风格艾丝凡1 小时前
锂电池 SOC 估计技术综述:成熟算法、新颖突破与车企应用实践
算法·汽车
Codeking__1 小时前
动态规划算法经典问题——01背包问题
算法·动态规划
R-G-B1 小时前
归并排序 (BM20 数组中的逆序对)
数据结构·算法·排序算法
少许极端1 小时前
算法奇妙屋(十二)-优先级队列(堆)
数据结构·算法·leetcode·优先级队列··图解算法
我的xiaodoujiao1 小时前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 25--数据驱动--参数化处理 Excel 文件 2
前端·python·学习·测试工具·ui·pytest
DO_Community1 小时前
基于AI Agent模板:快速生成 SQL 测试数据
人工智能·python·sql·ai·llm·ai编程
kupeThinkPoem2 小时前
哈希表有哪些算法?
数据结构·算法