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

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]
相关推荐
Oneshot18 小时前
DLX(Dancing Links)算法详解:求解数独最快的算法
算法
用户2986985301418 小时前
用 Python 自动化把 JavaScript 代码转换为 Word 文档
javascript·python·api
用户0190275816118 小时前
AlphaFeed 标的池(universes)全解:CN_Stock / CN_ETF 与权限边界
python
文丑颜不良啊18 小时前
LeetCode2541~2560题目解析
java·leetcode
青少儿编程课堂19 小时前
蓝桥杯青少组图形化 + 全国青少年信息素养大赛 + 电子学会Scratch考级:校园连连看解析
c++·python·算法·bfs·信息学竞赛
kongdong19 小时前
Hikyuu | RSI均值回归交易策略实现
算法·均值算法·回归·量化交易·交易策略·hikyuu
用户03321266636719 小时前
如何使用 Python 将 JSON 转换为 Excel
python·excel
小王C语言19 小时前
优选算法:分治-归并排序
算法
小小张说故事19 小时前
Python 的切片到底切了什么:拆开 slice 对象、负步长和 __getitem__
python
zaizai100720 小时前
算法(左程云)1
数据结构