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

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]
相关推荐
秋邱2 分钟前
AR + 离线 AI 实战:YOLOv9+TensorFlow Lite 实现移动端垃圾分类识别
开发语言·前端·数据库·人工智能·python·html
℉AVE3 分钟前
点集配准---迭代最近点算法ICP(Iterative Closest Point)
算法
程序员杰哥5 分钟前
UI自动化测试框架:PO 模式+数据驱动
自动化测试·软件测试·python·selenium·测试工具·ui·测试用例
大数据魔法师8 分钟前
聚类算法(一)- K-Means聚类
算法·kmeans·聚类
别动哪条鱼13 分钟前
FFmpeg API 数据结构及其详细说明:
数据结构·ffmpeg·音视频·aac
AI视觉网奇16 分钟前
视频选帧截取
python·opencv·音视频
CoderYanger19 分钟前
A.每日一题——2141.同时运行N台电脑的最长时间
java·算法·leetcode·职场和发展·1024程序员节
Ayanami_Reii21 分钟前
进阶数据结构-线段树
数据结构·算法·线段树
liu****21 分钟前
11.字符函数和字符串函数(一)
linux·运维·c语言·开发语言·数据结构·算法
hmbbcsm22 分钟前
练习python题目小记(七)
开发语言·python