力扣---完全平方数

思路:

还是比较好想的,gi定义为和为 i 的完全平方数的最少数量。那么递推关系式是gi=min(gi-1,gi-4,gi-9,...)+1,数组初始化是g0=0,g1=1。注意这里要对g0初始化,(举个例子)因为在遍历到g4时,g4=min(g4-1,g4-4)+1。

代码:

C++:

cpp 复制代码
class Solution {
public:
    int numSquares(int n) {
        vector<int> g(n+1,0x3f3f3f3f);
        g[0]=0,g[1]=1;
        for(int i=2;i<=n;i++){
            for(int j=1;i-j*j>=0;j++){
                int temp=j*j;
                g[i]=min(g[i],g[i-temp]+1);
            }
        }
        return g[n];
    }
};

Python:

python 复制代码
class Solution:
    def numSquares(self, n: int) -> int:
        g=[0x3f3f3f3f]*(n+1)
        g[0]=0
        g[1]=1
        for i in range(2,n+1):
            j=1
            while i-j*j>=0:
                temp=j*j
                g[i]=min(g[i],g[i-temp]+1)
                j+=1
        return g[n]
相关推荐
满怀冰雪6 小时前
06-自动微分入门:用 Paddle 计算梯度
人工智能·python·深度学习·paddle
浩哥学JavaAI7 小时前
2026年最新AI agent面试(10)_通信与行业动态
人工智能·面试·职场和发展
可编程芯片开发8 小时前
基于MATLAB的PEF湍流风场生成器模拟与仿真
算法
罗西的思考8 小时前
【Agentic RL / 强化学习 / OPD】OpenClaw-RL 源码阅读笔记 --- (9)--- Reward Judging
人工智能·算法·机器学习
2401_841495648 小时前
【数据结构】B+树
数据结构·数据库·c++·b+树·概念·结构·操作原理
Mr.HeBoYan9 小时前
一次持续三天才出现的丢包故障——深入解析 DPDK Memory Ordering、rte_ring 与 CPU Memory Barrier (下)
linux·网络·算法·架构·dpdk
wabs66610 小时前
关于图论【深度优先搜索的理论基础】
算法·深度优先·图论
皓月斯语10 小时前
【C++基础】三目运算符
开发语言·数据结构·c++
先吃饱再说11 小时前
LeetCode 101. 对称二叉树
算法
是Dream呀11 小时前
人眼看不出的伪造,AI如何识别?实测合合信息跨模态鉴伪与去反光技术
算法