力扣---完全平方数

思路:

还是比较好想的,g[i]定义为和为 i 的完全平方数的最少数量。那么递推关系式是g[i]=min(g[i-1],g[i-4],g[i-9],...)+1,数组初始化是g[0]=0,g[1]=1。注意这里要对g[0]初始化,(举个例子)因为在遍历到g[4]时,g[4]=min(g[4-1],g[4-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]
相关推荐
橙露1 天前
时间序列分析实战:用 Python 实现股票价格预测与风险评估
人工智能·python·机器学习
2501_940315261 天前
【无标题】1.17给定一个数将其转换为任意一个进制数(用栈的方法)
开发语言·c++·算法
神云瑟瑟1 天前
看langchain理解python中的链式调用
python·langchain·链式调用
栈与堆1 天前
LeetCode 21 - 合并两个有序链表
java·数据结构·python·算法·leetcode·链表·rust
CCPC不拿奖不改名1 天前
循环神经网络RNN:整数索引→稠密向量(嵌入层 / Embedding)详解
人工智能·python·rnn·深度学习·神经网络·自然语言处理·embedding
鹤入云霄1 天前
基于Python的空气质量监测系统
python
viqjeee1 天前
ALSA驱动开发流程
数据结构·驱动开发·b树
石去皿1 天前
大模型面试常见问答
人工智能·面试·职场和发展
鹿角片ljp1 天前
力扣7.整数反转-从基础到边界条件
算法·leetcode·职场和发展
java修仙传1 天前
力扣hot100:前K个高频元素
算法·leetcode·职场和发展