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

279. 完全平方数 - 力扣(LeetCode)

思路:

  • dpj的含义:组成和为n最少需要dpj个完全平方数
  • 递推公式:dpj=min(dpj,dpj-i\*i+1)
  • 初始化:dp0=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]
相关推荐
tachibana214 小时前
hot100 翻转二叉树(226)
java·数据结构·算法·leetcode
兰令水14 小时前
leecodecode【面试150】【2026.7.9打卡-java版本】
java·数据结构·leetcode·面试·职场和发展
Day(AKA Elin)14 小时前
【Day】MTP(Multi Token Prediction)技术学习
python·深度学习·学习·llama
生戎马15 小时前
高光谱拼接算法(七)USAC
算法
PhotonixBay15 小时前
共聚焦成像核心原理:针孔、PSF与三维形貌测量技术
人工智能·测试工具·算法
程序员小远15 小时前
接口测试之文件上传
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
江华森16 小时前
Python 实现高德地图找房(三):地图可视化与高德 JS API
开发语言·javascript·python
来一碗刘肉面16 小时前
C++中的引用语法
c++·算法
曲幽16 小时前
Anki插件开发必知必会:钩子函数与右键菜单定制
python·fastapi·anki·menu·browser·addons
技术工小李16 小时前
现场评分系统|景泰2026“农创客”杯大赛实战应用宣传
python