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

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]
相关推荐
m0_7369191014 分钟前
超越Python:下一步该学什么编程语言?
jvm·数据库·python
学习中的DGR19 分钟前
[极客大挑战 2019]Http 1 新手解题过程
网络·python·网络协议·安全·http
独处东汉24 分钟前
freertos开发空气检测仪之输入子系统结构体设计
数据结构·人工智能·stm32·单片机·嵌入式硬件·算法
乐迪信息27 分钟前
乐迪信息:AI防爆摄像机在船舶监控的应用
大数据·网络·人工智能·算法·无人机
放荡不羁的野指针31 分钟前
leetcode150题-滑动窗口
数据结构·算法·leetcode
布茹 ei ai38 分钟前
Python屏幕监视器 - 自动检测屏幕变化并点击
开发语言·python
BHXDML1 小时前
数据结构:(一)从内存底层逻辑理解线性表
数据结构
天天睡大觉1 小时前
Python学习12
网络·python·学习
小龙报1 小时前
【C语言进阶数据结构与算法】单链表综合练习:1.删除链表中等于给定值 val 的所有节点 2.反转链表 3.链表中间节点
c语言·开发语言·数据结构·c++·算法·链表·visual studio
程序员杰哥1 小时前
性能测试详解
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·性能测试